Welcome to the Advanced Product Feeds User Manual

Whether you are new to Advanced Product Feeds or an advanced user, you can find some useful information here.

In this guide, you'll learn how to:

  • Install extension
  • Create and import feed templates
  • Make and generate your first feed
  • Adjust your feeds

How to install the extension

  1. Back up your store's database and web directory.
  2. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  3. Copy installation instructions from the page My Downloadable Products to the SSH console and press ENTER.

  4. Run the command php -f bin/magento module:enable Mirasvit_Core Mirasvit_Feed Mirasvit_Report to enable the extension.
  5. Run the command php -f bin/magento setup:upgrade to install the extension.
  6. Run the command php -f bin/magento cache:clean to clean the cache.
  7. Deploy static view files

    rm -rf pub/static/frontend/*; rm -rf pub/static/backend/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy

Note

Before version 1.6.2, if you install the module manually to the "app/code/" directory (Magento 2.3 only), you must additionally install the required zf1/zend-reflection library through composer:
composer require "zf1/zend-reflection"

Manage templates

To manage templates, go to Catalog → Advanced Product Feeds → Templates.

The extension includes more than 45 ready-to-use templates for all the most popular price comparison engines (Google Shopping, Amazon, eBay, Shopzilla, etc.).

Note

Before you can create a new template, you need to check the product feed specification for the specified marketplace (template format type, fields delimiter, required fields, etc.).

You can create templates for any comparison shopping engine.

To create a new template, follow these steps:

  1. Go to Catalog → Advanced Product Feeds → Templates, then click the Add Template button in the upper right-hand corner. You'll see following fields:

New Templates

  1. Fill in the following fields:
    • Name - the name of the new template.
    • File Type - the feed output format. There are 3 types that are available for the data feed:
      • CSV - comma-separated values with each item placed on a new line. File extension is .csv.
      • TXT - same as a CSV file, but with a .txt extension.
      • XML - uses tags to define blocks of content. Information about your items is enclosed within these tags, which are indicated by angle brackets. The file extension is .xml.
    • At the Content Settings tab, you need to configure the template depending on particular requirements and the file type. Currently supported formats are:
      • CSV, TXT
      • XML
  2. Click the Save button.

List of the pre-installed templates

Template name Format
AdForm XML
AdRoll XML
Adcell CSV
AdeBooks TXT
Allegro CSV
Arukereso XML
Awin TXT
Bantoa CSV
Bazaraki XML
Become CSV
Beslist XML
Billiger CSV
Bing Feed (Microsoft Advertising) XML
CJ XML
Catch CSV
Ceneo XML
Ciao CSV
Domodi XML
Facebook Dynamic Ads XML
FashionChick XML
Fishpond CSV
Fruugo XML
Geizhals CSV
GetPrice XML
Glami XML
Google Shopping XML
Google Shopping (configurable products) XML
Google Shopping CSV Feed CSV
Google Shopping Local Inventory Feed XML
Google Shopping Review XML
Google Shopping TXT Feed TXT
Google Shopping Update XML
Hepsiburada XML
Heureka XML
Hotline XML
Instagram CSV
Instagram (XML) XML
Joom CSV
Kaufland CSV
Kelkoo XML
Klaviyo XML
Kogan CSV
Lamoda XML
Le Guide TXT
Marktplaats XML
OnBuy CSV
Pigu Product XML
Pigu Stock and Prices XML
Pinterest CSV
Pinterest (XML) XML
Price.ro TXT
PriceGrabber TXT
PriceMe XML
PriceRunner XML
PriceSpy XML
Prisjakt XML
Rakuten TXT
Real DE Shipping CSV
Real DE CSV
Rozetka XML
ShareASale CSV
ShopMania XML
ShopPrice CSV
Shopee CSV
Shopzilla TXT
Skroutz XML
Snapchat CSV
Target Circle XML
TikTok CSV
TikTok (XML) XML
TradeDoubler CSV
TradeTracker CSV
Trovaprezzi CSV
Trovaprezzi (XML) XML
Twenga XML
Walmart (Inventory) CSV
Webgains CSV
Webgains (XML) XML
Wine-Searcher XML
Wish CSV
Zalora CSV
Alza XML
Bol CSV
Bonanza CSV
Ceneje XML
Check24 CSV
Compari XML
Comparis XML
Criteo CSV
Custom CSV CSV
Custom TXT TXT
Custom XML XML
Drezzy CSV
eBay CSV
eMAG CSV
Idealo DE CSV

How to create a new data feed

Note

Pre-installed templates may require additional attributes and settings due to specific information related to the items being sold or country location. Make a point of checking a given product's attribute requirements using marketplace specifications.

To create a new data feed, take the following steps:

  1. Go to Catalog → Advanced Product Feeds → Feeds. Press the button Add Feed.
  2. Select one of the existing templates to create a feed. To create an empty feed, select Empty Template.
  3. Press button Continue.
  4. Fill in the following requirement fields:
    • Name - name of the data feed.
    • Filename - name of the data feed file. The file will be located at [magento_path]/pub/media/feed/filename.
    • Store View - the store view for which a data feed will be generated.
    • Is Active

Feed Editing

Additionally, if you selected **Empty Template**, you will need to fill in these fields:

* **File Type** - there are three file types available for the data feed.
    * [**CSV**](/feed/csv) - comma-separated values where each item is placed on a new line. The file extension is *.csv*.
    * [**TXT**](/feed/csv) - same as for a CSV file, but with a *.txt* extension.
    * [**XML**](/feed/xml) - uses tags to define blocks of content. Information about your items is enclosed within these tags, which are indicated by angle brackets. The file extension is *.xml*.
  1. Press the button Save and Continue Edit.
  2. To generate a data feed, press the button Generate at the top right corner of the page.

How to configure an XML Feed

If you select the XML file type at the tab Content Settings, you can create/edit XML schema for your feed.

By default, we provide templates for XML feeds, so you can easily copy and change it according to your requirements.

Usually, Comparison Shopping Engines provide a template of the XML file. Based on this template, you can create your own XML schema.

Typical xml schema:

<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
    {% for product in context.products %}
    <item>
        <attribute_1><![CDATA[{{ product.attribute_1 }}]]></attribute_1>
        <attribute_2><![CDATA[{{ product.attribute_2 }}]]></attribute_2>
        .....
    </item>
    {% endfor %}
</rss>

Product cycle block:

{% for product in context.products %}
    ...
{% endfor %}

Inside this block, you can use any product attribute.

Category cycle block:

{% for category in context.categories %}
    ...
{% endfor %}

Inside this block, you can use any category attribute.

Review cycle block:

{% for review in context.reviews %}
    ...
{% endfor %}

Inside this block, you can use any review attribute.

Attribute (pattern) block:

<attribute_1><![CDATA[{{ product.attribute_1 }} ]]></attribute_1>
<attribute_1><![CDATA[{{ category.name }} ]]></attribute_1>
<attribute_1><![CDATA[{{ review.nickname }} ]]></attribute_1>

The attribute code must be enclosed in double curly brackets: {{ product.attribute_code }}. You can use all attribute codes available at Store > Attributes > Product and all static attributes (ex. entity_id, created_at, etc.).

Additionally, you can place any available pattern in curly brackets. [Full pattern list of patterns]

Note

Characters like < and & are illegal in XML elements.

  • < will generate an error because the parser interprets it as the start of a new element.
  • & will generate an error because the parser interprets it as the start of a character entity.

We suggest that you enclose all patterns in a CDATA block <attribute><![CDATA[{{ pattern }}]]></attribute>. In this case, the xml data feed will be valid.

How to configure CSV, TXT Feed

If you select a CSV or TXT file type at the tab Content Settings, you can create/edit attribute schema for your feed.

Note

When you use pre-installed templates, you need to verify that the attributes from the template response are set for the same values as your store attributes.
If this attribute does not exist in your store, set the appropriate product attributes or patterns for the same line.

Content Settings

Before creating the attribute scheme, you need to fill in the required file settings:

New CSV

  • Fields Delimiter - delimiter which allows you to split a text into columns in your feed file. Supported delimiters are:
    • Comma ","
    • Tab "\t"
    • Colon ":"
    • Space " "
    • Vertical pipe "|"
    • Semi-colon ";"
  • Fields enclosure - allows you to enclose data in your feed file.
  • Include Columns Header - set to "Yes" to include a header row (attribute names) in the first line of your feed file.
  • Extra header - set to "Yes" to include an additional header row in the first line of your feed file. It will always be above the first attributes row or columns header.

Field Mapping

In the field mapping table, you can add/remove rows, change rows ordering, set the output type, and the symbols limit. Each row in a mapping table is a column in the data feed file.

To add a new column to your CSV feed, you need to create a new row and fill it with a few parameters:

  • Column Name - the header column name.
  • Value Type - the following types are available:
    • Pattern - allows you to enter a static value or use patterns like those from the XML template.
    • Attribute - allows you to select any store attribute from the drop-down list.
    • Parent Product - allows you to export configurable products. In this case, simple associated products will have an attribute. If you have configurable or bundle products, we suggest you use this Type Parent Product with the fields: "Product URL", "Grouped ID"
  • Value - allows you to select the attribute or put in place the pattern for the column output.

Note

To modify the Value output, click on the cogwheel in the required column to use the Add Modifier button.
There will appear a list of available modifiers for usage.
To check information about modifiers, go to the page: Output Filters

FTP settings

The extension can automatically deliver data feed files via FTP to the Shopping Engine Service.

Note

Check the marketplace merchant account for FTP details, or inquire about FTP credentials at the marketplace Support Center

To configure FTP delivery, take the following steps:

  1. Open the tab FTP Settings at the feed edit page.
  2. At the tab, you need to enable FTP delivery and fill in the fields below:
    • Protocol - you can select a FTP/SFTP or SFTP connection.
    • Host Name - the server on which you would like to send your feed. Format: example.com:port
    • User Name - the username of the FTP server.
    • Password - the password of the FTP server.
    • Path - an optional field, enter a path to your merchant folder provided by the Shopping Engine Service.
    • Passive mode - most FTP servers work in Passive mode, even when you are using a firewall.
  3. Click the "Test connection" button to confirm that the connection is successful.
  4. Press the button Save And Continue Edit.

After enabling FTP delivery, you can manually run the delivery of the feed by pressing the button Deliver Feed at the right top corner of the page.

Additionally, the extension can deliver the feed by a set schedule after each feed generation.

Schedule Task Settings

You can configure your feed to generate the data feed file according to a set schedule.
If the FTP settings are enabled, the feed will be automatically delivered to the marketplace after generation by the schedule.

Note

To generate a feed by schedule, Magento Cron must be configured.

To configure the schedule, take the following steps:

  1. Open the tab Scheduled Task at the feed edit page.
  2. Set the Status - Enabled to enable the feed generated by schedule
  3. Set up the following fields:
    • Days of the week - days of the feed generation.
    • Time of the day - time of the feed generation.
  4. Press the button Save And Continue Edit.

Feed Schedule

For example, if the selected days are Monday, Wednesday and the time 03:00AM, and 05:00AM, the feed will be generated 4 times during a given week.

Note

If you already have a few feeds with scheduled tasks, in order to prevent cron job errors, you need to set a different scheduler time for each feed.

Email Notifications

Open the feed's Additional tab on the feed's edit page.

Feed Email

The extension can automatically send an email to the notifications for the following events:

  • Successful Export
  • Unsuccessful Export
  • Successful Delivery
  • Unsuccessful Delivery

Fill in the following lines:

  • Email - an email address for email notifications (use a comma separator to include more than one email address).
  • Notification Events - sets events for further email notification.

Press the button Save And Continue Edit.

Google Analytics Campaign

Note

Google Analytics should be configured and activated in order to use this feature.

The extension can automatically append Google Analytics campaign parameters to your product's URLs.

To configure a Google Analytics Campaign, take the following steps:

  1. Open the tab Google Analytics at the feed's edit page.
  2. Fill in the 3 required fields:

    • Campaign Source - Identifies a search engine, newsletter name, or other source (i.e. google, citysearch, newsletter)
    • Campaign Medium - Identifies a medium such as email or cost-per-click (i.e. cpc, banner, email)
    • Campaign Name - Identifies a specific product promotion or strategic campaign (i.e product, promo code, or slogan)
      Also, as an option, you can fill in other fields:
    • Campaign Term - Identifies paid keywords.
    • Campaign Content - Differentiates ads or links that point to the same URL.
  3. Press the button Save And Continue Edit.

Feed Analytics

After adding Google Analytics parameters, you need to generate your feed. In the feed's file, all product URLs will be http://example.com/product.html?fep=…&fee=…&utm_source=…&utm_medium=…&utm_name=…
After feed generating, you do not need to make any additional configuration adjustments.
Additionally, in the campaign fields, you are free to use any pattern.
To track a Google Analytics Campaign, log in to your account, go to Traffic Sources > Campaigns, and select the campaign source from the list.

Additional Settings

The extension allows you to set up additional settings for a feed export.
Go to the feed tab Additional.

Email Notifications

Check the Email Notifications tab.

Report the Configuration

For each feed, you can enable/disable tracking clicks and orders by changing the setting Enable Reports.

If the feature is enabled, the extension appends two special arguments to the product's URL (fee=, fep=) to track clicks and orders,
where fee is the ID of the feed, and fep is the ID of the product. For example http://example.com/product.html?fee=1&fep=3

Product Filters

Filtering is one of the most important parts of the feed creation process.
By using filters, you will not export products that have zero price or are out of stock, products without images, disabled products, etc.

To create a new product filter, take the following steps:

  1. Go to Catalog → Advanced Product Feeds → Manage Filters. Press the button Add Filter.
  2. Set the filter Name.
  3. Select the feeds for which the filter will be applied. Also, you can select applied filters on the feed edit page.
  4. At the Rules tab, you can specify all conditions you require.
  5. Select an attribute from the list and use the filter conditions. The extension allows you to set the conditions combination, using if ALL and if ANY, TRUE, or FALSE rules.

Note

Do not set in the filter the Visibility conditions: Catalog or Catalog, Search if you have configurable products.
Otherwise, simple Associated Products, which contain the status Not Visible Individually, will not be included in the feed.

Product Filter Examples

  • Filter example for Simple products

    For example, you seek to export only Simple products from the Furniture category with a product Price that is greater than 50, and products that are available in the Stock:

    • Set Status is Enabled (not necessarily)
    • Set Product Type is Simple Product
    • Add a new Conditions Combination. Set the if ANY rule. Add 2 conditions for the attribute Visibility:
      • Visibility is Catalog
      • Visibility is Catalog, Search

    This condition allows you to include products with the Visibility status: Catalog or Catalog, Search.
    If you don't set this condition combination, the feed will also be generated with products that have status: Not Visible Individually.
    Thus, Configurable Associated Products will not be included in the feed.

    Continue setting up the main conditions:

    • Set Price greater than 50
    • Set Stock availability is In Stock
    • Select Category attribute and set the condition to is one of.
      Click the Chooser icon, and you will see the store category tree.
      To include products from certain categories, tick the Furniture category and their subcategories from the list.
      Category ID's will be added automatically to the text line.
  • Filter example for Simple and Configurable products

    For example, you want to export Simple and Configurable products, which are not from the Cell Phones and Cameras categories.
    The product Name contains the word ecco and the product quantity is equal to or greater than 10:

    • Set Status is Enabled (not necessarily)
    • Set Name contains ecco
    • Set Stock availability is In Stock
    • Set Quantity equals or greater than 10
    • Select Category attribute and set the condition to is not one of.
      Click the Chooser icon, and you will see the store category tree.
      To exclude products from certain categories, tick the Cell Phones and Cameras categories and subcategories from the list.
      Category ID's will be added to the text line automatically.
  • How to exclude products without Base images

    Add the following condition to your filter:

    Base Image is not ...
  • How to exclude children products if their configurable parent product is not active or is out of stock

    Add the following condition to your filter:

    Is Salable is Yes

List of Patterns

All patterns must be enclosed in curly brackets. In patterns, you can use codes of attributes, filters, links to parent products, base php functions, and calculations.

The base pattern schema {{ entity.attribute | filter | filter }}

Attribute Patterns

1.Primary Attributes

  • {{ product.attribute_set }} - the name of the assigned attribute set to the product

  • {{ product.description }} - the description of the product

  • {{ product.status }} - the status of the product

    Possible values:

    • Enabled
    • Disabled
  • {{ product.name }} - the name of the product

  • {{ product.meta_descritpion }} - the meta description of the product from the SEO section

  • {{ product.meta_keyword }} - the meta keyword of the product from the SEO section

  • {{ product.meta_title }} - the meta title of the product from the SEO section

  • {{ product.entity_id }} - the ID of the product

  • {{ product.name }} - the name of the product

  • {{ product.type_id }} - the type of the product (simple, configurable, etc.)

  • {{ product.url }} - the direct URL to the product

  • {{ product.url_with_options }} - the direct URL to the product with the custom options (size, color, etc.)

    This type of URL allows you to automatically select child options on the product page after the customer opens the link. At the end of the URL, there will be additional options for the parameters, f.e.: http://store.com/some-product-key.html#142=5596&93=5477

  • {{ product.sku }} - an identifier of the product

  • {{ product.short_description }} - the short description of the product

  • {{ product.url_key }} - the URL key of the product

  • {{ product.visibility }} - the visibility of the product

    Possible values:

    • Not Visible Individually
    • Catalog
    • Search
    • Catalog, Search

2.Prices & Taxes

  • {{ product.cost }} - the price at which products are or have been bought by a merchant or retailer

  • {{ product.final_price }} - the final price (saleable) of the product

    The price of a product, after applying special price and catalog price rules.

  • {{ product.final_price_tax }} - the final price (saleable) of the product with tax included

  • {{ product.msrp }} - the manufacturer's suggested retail price, a price recommended for the sale of an item in all retail outlets.

  • {{ product.minimal_price }} - the lowest price among all active child products

  • {{ product.price }} - the price of the product (without discounts, catalog rules, etc.)

  • {{ product.regular_price }} - the regular price of the product

  • {{ product.special_price }} - a special price of the product

    The special price of the product.

    The special price ignores the values of Special Price From Date and Special Price To Date

  • {{ product.special_from_date }} - the date of starting sales of the product

  • {{ product.special_to_date }} - the date of ending sales of the product

  • {{ product.tax_class_id }} - the tax class of the product

  • {{ product.tier_price }} - the tier price of the product

  • {{ product.tax_rate }} - the tax rate for the product

3.Category

  • {{ product.category_ids}} - the IDs of the assigned categories to the product

    Note

    If the product is assigned to multiple categories, the extension automatically selects Category using this logic:
    The most nested category is always selected. For example, if a product is assigned to a few categories at different levels, the attribute {category} returns the name of the category, which is the most nested in the category tree. If the product is assigned to severl categories at the same level, the extension selects the category with the lowest position of the product. You can change the position of the product at Catalog > Manage Categories, in the tab Category Products
  • {{ product.category.entity_id }} - the ID of the assigned category to the product

    Note

    If the product is assigned to several categories, the extension selects a Category Id using this logic:
    The most nested category id is always selected. For example, if a product is assigned to multiple categories at different levels, the attribute {category_id} returns the id of the category, which is the most nested in the category tree.
    If a product is assigned to several categories at the same level, the extension selects the category id with the lowest position of the product. To change the position of the product, go to Catalog > Manage Categories, in the tab Category Products
  • {{ product.category.path }} - the path of the category names

    E.g. Computers > Notebooks > Apple

    Note

    If the product is assigned to several categories, the extension selects a Category Path using this logic:
    The most nested category path is always selected. For example, if a product is assigned to multiple categories at different levels, the attribute returns the path that is the most nested in the category tree.
    If a product is assigned to several categories at the same level, the extension selects the category with the lowest position of the product. To change the position of the product, go to Catalog > Manage Categories, in the tab Category Products

4.Images

  • {{ product.image }} - the direct URL to the base image of the product

  • {{ product.images }} - the direct URLs gallery images of the product, separated by a comma

  • {{ product.thumbnail }} - the direct URL to the thumbnail image of the product

  • {{ product.small_image }} - the direct URL to the small image of the product

  • {{ product.gallery[0] }}, {{ product.gallery[1] }} ... - a direct url to gallery images of the product

  • {{ product.rating_summary }} - the average product rating (from 0 to 5)

5.Stock Attributes

  • {{ product.is_in_stock }} - the stock status of the product

    Possible values:

    • 0 - Out of Stock
    • 1 - In Stock
  • {{ product.qty }} -the quantity of the product

  • {{ product.qty_children }} - the quantity of children in stock products

  • {{ product.stock_status }} - the stock status of the product

    Possible values:

    • Out of Stock
    • In Stock

6.Reviews

Note

To export review attributes, they should be set in the Reviews context.
For example, to export, the review title must be set in the following construction:

{% for review in context.reviews %}
<title><![CDATA[{{ review.title }}]]></title>
{% endfor %}

  • {{ review.id }} - the review ID
  • {{ review.nickname }} - the nickname of the customer who left review
  • {{ review.created_at }} - the date of the review creation
  • {{ review.title }} - the title (summary) of the review
  • {{ review.detail }} - the review text
  • {{ review.rating }} - the review rating
  • {{ review.reviews_count }} - the number of approved reviews for this product
  • {{ review.product.[product_attribute] }} - allows for use of the product attributes at the Review context construction, where instead of [product_attribute], there should be set a product attribute code.
    For example, a product's SKU: {{ review.product.sku }}

7.Multi Source Inventory Sources

Note

Multi-Source Inventory (MSI) is available, starting from Magento 2.3

Allows you to export MSI Sources using the following pattern:

{{ product.inventory:source_code }} - where instead of source_code, there should be an Inventory Source Code set.

Parent product values

You can use the suffix .parent ({{ product.parent.name }}, {{ product.parent.price }}, {{ product.parent.url }} etc), if you need to return the value to the parent product.

Example

If the current product associated with a configurable/grouped/bundled product, the pattern {{ product.parent.url }}, will return the URL to the parent product. If the extension can't find the parent product, it will use the current product.

Note: The parent suffix is very useful when you export simple products with visibility Not Visible Individually. In this case, the product can't have a direct link, so you must use a link to the parent product.

Example

{% for product in context.products %}

    {% for image in product.gallery %}
    <picture>{{ image }}</picture>
    {% endfor %}

    <created>{{ product.created_at | dateFormat: 'd.m.Y H:i:s' }}</created>
{% endfor %}

How to hide a special price if it is empty

 {% if product.special_price %}
        <g:sale_price><![CDATA[{{ product.special_price }} USD]]></g:sale_price>
 {% endif %}

How to hide the shipping weight if it is empty

    {% if product.weight %}
         <g:shipping_weight><![CDATA[{{ product.weight }} kg]]></g:shipping_weight>
    {% endif %}

Filters

Filters are simple methods that modify the output of numbers, strings, variables, and arrays. They are placed within an output tag {{ }} and are separated with a pipe character |.

String/HTML Filters

  • lowercase - converts a string into lowercase.

    {{ product.name | lowercase }}

    Original: Dash Digital Watch
    Output  : dash digital watch
  • uppercase - converts a string into uppercase.

    {{ product.name | lowercase }}

    Original: Dash Digital Watch
    Output  : DASH DIGITAL WATCH
  • replace - replaces all occurrences of a string with a substring.

    {{ product.name | replace: 'Digital', 'Analog' }}

    Original: Dash Digital Watch
    Output  : Dash Analog watch
  • append - appends characters to a string.

    {{ product.name | append: ' - best choice' }}

    Original: Dash Digital Watch
    Output  : Dash Digital Watch - best choice
  • prepend - prepends characters to a string.

    {{ product.name | prepend: 'Best choice - ' }}

    Original: Dash Digital Watch
    Output  : Best choice - Dash Digital Watch
  • capitalize - capitalizes the first word in a string.

    {{ product.color | capitalize }}

    Original: dark red
    Output  : Dark red
  • escape - escapes HTML tags in a string.

    {{ product.description | escape }

  • nl2br - inserts a <br> linebreak HTML tag in front of each line break in a string.

    {{ product.short_description | nl2br }

  • remove - removes all occurrences of a substring from a string.

    {{ product.name | remove: 'Digital' }}

    Original: Dash Digital Watch
    Output  : Dash Watch
  • stripHtml - strips all HTML tags from a string.

    {{ product.description | stripHtml }

  • strip all newlines (\n, \r) from a string.

    {{ product.description | strip_newlines }}

  • Replace each newline (\n) with html break - replace \n to the <br>.

    {{ product.description | newline_to_br }}

  • truncate - truncates a string down to 'x' characters.

    {{ product.name | truncate: '15' }}

    Original: Dash Digital Watch
    Output  : ash Digital Wa
  • truncate string down to x words - truncates a string down to 'x' words.

    {{ product.name | truncatewords: '2' }}

     Original: Dash Digital Watch
     Output  : Dash Digital
  • plain - converts any text to plain format.

    {{ product.description | plain }}

  • ifEmpty - return argument, if the value is an empty string

    {{ product.color | ifEmpty: 'Multi color' }}

    Original: 
    Output  : Multi color
  • dateFormat - converts string to specified date-time format.

    {{ product.created_at | dateFormat: 'd.m.Y H:i' }}

    Original: 2016-02-18 10:11:12
    Output  : 18.02.2016 10:11
  • json - converts an object or array to JSON format.

    {{ product.gallery | json }}

Number Filters

  • ceil - rounds an output up to the nearest integer.

    {{ product.weight | ceil }}

    Original: 1.423 
    Output  : 2
  • floor - rounds an output down to the nearest integer.

    {{ product.weight | floor }}

    Original: 1.423 
    Output  : 1
  • round - rounds the output to the nearest integer or specified number of decimals.

    {{ product.weight | round: '2' }}

    Original: 1.423 
    Output  : 1.42

    {{ product.weight | round }}

    Original: 1.423 
    Output  : 1
  • numberFormat - formats the number to a specified format (php function).

    {{ product.price | numberFormat: '2', '.', ',' }}

Price/Currency Filters

  • price - formats a price to the default format.

    {{ product.price | price }}

    Original: 100.4200
    Output  : 100.42
  • convert - converts a price from the base currency to the specified currency.

    {{ product.price | convert: 'EUR' }}

    Original: 100
    Output  : 92.28
  • inclTax - include a tax to the product price.

    {{ product.price | inclTax | price }}

  • exclTax - exclude a tax from the product price.

    {{ product.price | exclTax | price }}

  • Addition - adds the specified value.

    {{ product.price | plus: '2' }}

     Original: 100
     Output  : 102
  • Subtraction - subtracts the specified value.

    {{ product.price | minus: '2' }}

     Original: 100
     Output  : 98
  • Multiplication - multiplied by the specified value.

    {{ product.price | times: '2' }}

    Original: 100
    Output  : 200
  • Division - divided by the specified value.

    {{ product.price | divided_by: '2' }}

    Original: 100
    Output  : 50
  • Modulo - the remainder after dividing by the specified value.

    {{ product.price | modulo: '2' }}
    
     Original: 100
     Output  : 0

Array Filters

  • first - return the first element in the array.

  • last - return the last element in the array.

  • join - join an array to a string using glue.

  • count - return the number of elements in the array.

  • select - select values for a key from the array.

URL Filters

  • secure - return a secure URL (with https://)

  • unsecure - return an unsecure URL (with http://)

  • mediaSecure - return a media URL using "Base URL for User Media Files"

    {{ product.image | mediaSecure }}

    Original: http://example.com/pub/media/catalog/product/m/h/mh03-black_main.jpg
    Output  : https://cdn-secure.com/catalog/product/m/h/mh03-black_main.jpg
  • mediaUnsecure - return a media URL using "Secure Base URL for User Media Files "

    {{ product.image | mediaUnsecure }}

    Original: http://example.com/pub/media/catalog/product/m/h/mh03-black_main.jpg
    Output  : http://cdn.com/catalog/product/m/h/mh03-black_main.jpg

Image Filters

  • resize - resize an image

    {{ product.image | resize: 100, 100 }}

    Original: http://example.com/pub/media/catalog/product/m/h/mh03-black_main.jpg
    Output  : http://example.com/pub/media/cache/200x200/catalog/product/m/h/mh03-black_main.jpg

Note

  • {{ product.name | truncate: '150' }}
  • {{ product.description | plain | truncate: '1000' }}
  • {{ product.weight | round: '2' }} kg
  • {{ product.manufacturer | ifEmpty: 'not set' }}

Dynamic attributes

The dynamic attribute is an attribute that can return values depending on particular conditions or the value of other attributes.

To create a new dynamic attribute, follow these steps:

  1. Go to Product → Advanced Product Feeds → Dynamic Attributes. Press the button Add Attribute.
  2. Fill in the following fields:

    • Name - name of the dynamic attribute
    • Code - code of the dynamic attribute. You will see this code when you select the dynamic attribute in the templates.
    • Set conditions:
      • Press "Add "OR" condition"
      • Press "Add "AND" condition"
      • Select attribute on the left corner
      • Select condition
      • Select or input condition value
      • Select Output Type
      • Select attribute or input pattern - when the condition is true, the dynamic attribute will return this value.
    • Press the button Save. To set a default value, leave the Conditions column without conditions.

Feed Attribute

## Example
  • Name: Additional Stock Status
  • Code: stock_status

Conditions: image

Usage:

XML templates: {{ product.dynamic:stock_status }}

CSV templates: find your dynamic attribute in the dropdown list, dynamic attribute section: image

Output:

image

Dynamic variables

The dynamic variable is a user-defined php code that must return a string value. The PHP code is stored on your server in your Magento installation folder. The extension fetches it from the file.

To create a new dynamic variable, follow these steps:

  1. Go to Catalog → Advanced Product Feeds → Dynamic Variables. Press the button Add Variable.
  2. Fill in the following fields:

    • Name - name of the dynamic variable
    • Variable Code - code of the dynamic variable. You will see this code when you select this dynamic variable in the templates.

Dynamic Variable

  1. Create the PHP code for the Dynamic variable:
  • Login to your server.
  • Navigate to the var/mst_feed/ or app/code/Mirasvit/Feed/ folder
  • Create a PHP file in one of these folders named exactly as the Variable Code you have entered previously.
    For example, if the Variable Code is GTIN_variable, you need to create a file var/mst_feed/GTIN_variable.php or app/code/Mirasvit/Feed/GTIN_variable.php
  • Paste the PHP code for your variable in the file and save it.

Note

Use the Echo function in the PHP code instead of Return to get the product data.

Note

For Magento Cloud, it is recommended to move variables from var/mst_feed to app/code/Mirasvit/Feed folder before deployment.

  1. Return to your Magento admin and reload the page or click Save button. The section Code will show the PHP code that was fetched for this varible from your server.

To see an example of the dynamic variable output you can use the field right to the Code section.
Enter product ID's separated by commas to see the data for several products.

Examples

Note

Ensure the code of your dynamic variable is enclosed in PHP opening <?php tag:

<?php

*Your Dynamic Variable code*

  • How to get the correct GTIN

    Name: GTIN
    Code: gtin
    PHP Code:

    <?php
    $gtin = $product->getGtin();
    if (!$gtin) {
        $gtin = $product->getId();
        $gtin .= str_repeat('0', 12 - strlen($gtin));
    }
    echo $gtin;

    Usage:
    {{ product.variable:gtin }}

    Output:
    124200000000


  • How to add 20% to the final price

    Name: Add Percentage
    Code: percentage
    PHP Code:

    <?php
    $price = $product->getFinalPrice();
    echo number_format($price*1.2, 2);

    Usage:
    {{ product.variable:percentage }}


  • How to get the qty of product from all stocks

    Name: Summary stocks qty
    Code: sum_stocks_qty
    PHP Code:

<?php
$sourcesData = $objectManager->get('\Magento\InventoryCatalogAdminUi\Model\GetSourceItemsDataBySku')
    ->execute($product->getSku());

$sumQty = 0;

foreach ($sourcesData as $sourceData){
    $sumQty += $sourceData['quantity'];
}

echo $sumQty;

Usage: {{ product.variable:sum_stocks_qty }}


  • I would like to keep the Special Price field empty, unless the final price is lower then the regular price

    Name: Custom Special Price
    Code: custom_spec_price
    PHP Code:

<?php
$finalPrice = $product->getFinalPrice();
$regularPrice = $product->getPrice();  

if ($finalPrice < $regularPrice) {
    echo number_format($finalPrice, 2);
} else {
    echo '';
}

Usage: {{ product.variable:custom_spec_price }}


Category Mapping

Note

What is category mapping?

The category names you are using in your Magento store aren't always the same as those used by Comparison Shopping Engines to reference your products.
This means you have to find out which Shopping Engine categories are most closely aligned with your store's categories.

To create a new category mapping, follow these steps:

  1. Go to Catalog → Advanced Product Feeds → Category Mapping. Press the button Add Category Mapping.

Category Mapping

  1. Fill in the mapping Name.

  2. Fill in the new names related to your store categories.
    If the child category doesn't have its own related name, it will use the related name of the parent category.

    Note

    When you start typing the category names, the extension will automatically show all the available categories from the Google Shopping taxonomy txt file.
    You can add other txt files with taxonomies to use it for category mapping in the folder magento_root/pub/media/feed/mapping/
  3. Press the button Save.

Now you can use the new category mapping in your feeds. You can select the newly-created Category Mapping attributes from the drop-down list of template attributes.

Note

  • For CSV feeds, at the attribute selector, you need to select the attribute Category Mapping: Name
  • For XML feeds, you should use the pattern, {{product.mapping:mapping_id}}

Example

For example: {{ product.mapping:1 }}

Where 1 is a category mapping id.

Reports

The extension allows you to track the clicks and orders after the customer redirects from the marketplaces.

Note

The extension can track the clicks and orders only via special arguments ff= and fp=, which are appended to the product URLs.
To enable this option, go to the feed tab Additional > Enable Reports and set Yes.

The extension allows you to show the Report graphics by Feed, SKU, Day, Week, Month, Year.

Main columns of the Report:

  • Number of Clicks - numbers of times which the customer redirects from the marketplace.
  • Number of Orders - numbers of the orders which were made after the customer has been redirected from the marketplace.
  • Revenue - revenue of the order.
  • Revenue per Click - average revenue amassed for each individual click.

Import/Export Data

Go to Products > Import/Export Data.

The extension allows you to import and export the following feed entities:

  • Templates
  • Filters
  • Dynamic Attributes
  • Dynamic Categories
  • Dynamic Attributes

Select the required tab and import/export the required files.

Command Line Interface

Usage: php -f bin/magento [options]

  • mirasvit:feed:export - generate all active feeds
  • mirasvit:feed:export --id=<id> - generate feed with specified id
  • mirasvit:feed:delivery - delivery of all active feeds
  • mirasvit:feed:delivery --id=<id> - deliver feed with specified id

    Note

    mirasvit:feed:export --step=100 - if your server has sufficient resources, you can use the additional parameter --step. Changing this parameter can decrease feed generation time or server resources that are required. By default, step equals 50.

How to upgrade the extension

To upgrade the extension, take the following steps:

  1. Back up your store's database and web directory.
  2. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  3. Run this command to update the current extension with all dependencies: composer require mirasvit/module-feed:* --update-with-dependencies.

    Note

    In some cases, the command above is not applicable, or you are unable to update just the current module, and need to upgrade all Mirasvit modules in a bundle. In this case, the command above will have no effect.

    Instead, run thecomposer update mirasvit/* command, which will update all Mirasvit modules installed in your store.

  4. Run the command php -f bin/magento module:enable Mirasvit_Core Mirasvit_Feed Mirasvit_Report to re-enable the extension.
  5. Run the command php -f bin/magento setup:upgrade to install updates.
  6. Run th command php -f bin/magento cache:clean to clean the cache.
  7. Deploy static view files

    rm -rf pub/static/frontend/*; rm -rf pub/static/backend/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy

Disabling the Extension

Temporarily Disable

To temporarily disable the extension, please take the following steps:

  1. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  2. Run the command php -f bin/magento module:disable Mirasvit_Feed to disabled the extension.
  3. Log in to the Magento backend and refresh the store cache (if enabled).

Extension Removal

To uninstall the extension, please take the following steps:

  1. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  2. Run the command composer remove mirasvit/module-feed to remove the extension.
  3. Log in to the Magento backend and refresh the store cache (if enabled).

Troubleshooting

This section describes the most common problems that customers report, and how they can be resolved:

  • Blank page when I have navigate to the Catalog > Feeds
  • I have added category filter by fews categories, but my feed doesn't contain any product
  • Missing or incorrect required attribute [price]
  • Missing two out of three attributes [GTIN, Brand, MPN]

There is a blank page when I have navigate to the Catalog > Feeds

You probably don't have the required library zf1/zend-reflection.

Solution: Please, try to install the library through composer:
composer require "zf1/zend-reflection"


I have added a category filter by fews categories,

but my feed doesn't contain any products

Such troubles usually occur when you use the "CATEGORY IS 1,2,3,4..." condition. This means that only products assigned to ALL of those categories simultaneously will be exported in the feed.

Solution: Try to change the condition to the "CATEGORY IS ONE OF..." instead, and regenerate the feed.


A required attribute is missing or incorrect [price]

Try adding a currency directly to the price attribute from the content settings of the feed, and regenerate it.

Before: <g:price>{{ product.final_price }}</g:price>
After: <g:price>{{ product.final_price }} EUR</g:price>

Also, you can define the currency directly in the Google Merchant Center: image


Two out of three attributes are missing [GTIN, Brand, MPN]

It happens when gtin and brand attributes are not provided. Try creating a dynamic attribute with the following statements:
image and use it in the <g:identifier_exists> tag.

Here is an example of how you can use it in the feed: image

Change Log

1.12.0

(2026-03-30)

Features

  • REST API for feed management — All major feed objects (feeds, templates, filter rules, dynamic attributes, category mappings, and variables) are now accessible via Magento REST API. You can create, update, delete, generate, deliver, and validate feeds programmatically. Feed generation runs asynchronously via a queue — trigger it and poll the queue endpoint for status. ⚠️ New database table mst_feed_generation_queue is created on upgrade.
  • split modifier in template loops — Use | split: "," inside {% for %} loops to iterate over comma-separated (or any-delimiter-separated) attribute values directly in feed templates, without needing a custom dynamic attribute.
  • Admin interface translated into 40+ languages

Improvements

  • Compatible with Magento 2.4.9 — CLI commands updated to meet the new PHP return type requirements introduced in Magento 2.4.9.

Fixed

  • Fixed feed filter conditions ignoring the store scope for product attributes when fast mode is enabled — products could be incorrectly included or excluded from the feed.
  • Fixed category attributes (e.g. category name, URL) returning values from the default store view instead of the store view configured for the feed.
  • FTP delivery failures now properly throw an error — previously a failed FTP upload could be silently ignored; now it surfaces as an error so you can act on it.

1.11.11

(2026-02-06)

Features

  • Added compatibility with MageWorx Advanced Product Options Suite for accurate min_price/max_price calculation

1.11.10

(2026-01-27)

Fixed

  • Fixed click reporting error when accessing non-existent feeds

1.11.9

(2026-01-23)

Fixed

  • Fixed the display of the generation modal on Hyvä-based storefronts

1.11.8

(2026-01-14)

Fixed

  • Fixed the cleanup cron job incorrectly removing non-feed files from pub/media/feed

1.11.7

(2026-01-02)

Features

  • Added sort and rsort modifiers for sorting array values in feed templates

1.11.6

(2025-12-04)

Fixed

  • Fixed deprecated functionality error on feed pages in Magento Commerce (EE)

1.11.5

(2025-12-03)

Fixed

  • Fixed missing conditions for weight and price attributes in the dynamic attribute form

1.11.4

(2025-11-27)

Fixed

  • Fixed the "Save and Continue Edit" button remaining disabled after saving a feed

1.11.3

(2025-11-21)

Fixed

  • Fixed potential XSS vulnerabilities in admin template output by adding proper escaping

1.11.2

(2025-11-20)

Features

  • Added "Custom Feeds" section next to "Popular Feeds" on the "New Feed" page

Improvements

  • Improved validation rules import with better error handling for missing templates
  • Added "Validation Rules" column on the template listing page
  • Improved "Quality Control" display on the feed edit page and added it to the feed listing
  • The "Save and Continue" button is now disabled until a template is selected, preventing accidental saves
  • The "Validate" button is always visible, showing an error when validation is not available

Fixed

  • Fixed logo duplication where all feeds and templates showed the same logo

1.11.1

(2025-10-08)

Fixed

  • Fixed the clean modifier incorrectly handling boolean values

1.11.0

(2025-09-23)

Features

  • Added ability to create a new feed without selecting a template
  • Added logos, guide links, and descriptions for feeds and feed templates
  • Added ability to duplicate a template

Improvements

  • Redesigned feed creation page with tile-based template selector
  • Only user-defined templates can now be modified; built-in templates are read-only
  • ⚠️ Removed outdated templates (catch, ladenzeile, myshopping, opensky, pricesearcher, prisguiden, real_de, shopalike). Feeds using these templates should be updated before upgrading
  • ⚠️ Added new columns to mst_feed_feed and mst_feed_template tables for logo and metadata storage

1.10.4

(2025-09-19)

Improvements

  • Updated "Quantity" filter logic for bundle products — quantity is now calculated as the minimum stock of required child items instead of the sum

1.10.3

(2025-09-02)

Improvements

  • Optimized loading of feed statistics

Fixed

  • Fixed error in the dynamic attribute form

1.10.2

(2025-08-20)

Features

  • Added the ability to define the feed data extract level for the JSON copy of an XML feed

Improvements

  • Validation service updated to handle bulk feed validation

Fixed

  • Fixed the issue with saving empty Validation Rules

1.10.1

(2025-08-19)

Fixed

  • Fixed the Content Settings tab breaking in CSV feeds after changing column order

1.10.0

(2025-08-19)

Features

  • Added Feed Validator — validates that prepared feeds follow the target platform's ruleset and flags errors before delivery

Fixed

  • Fixed feeds not being generated by cron at midnight (00:00)

1.9.2

(2025-08-15)

Fixed

  • Fixed feed generation history not displaying times in the store's local timezone

1.9.1

(2025-08-12)

Fixed

  • Fixed an issue where reordering columns in CSV feeds could cause unexpected modifier merging, preventing the Content Settings tab from rendering

1.9.0

(2025-08-06)

Features

  • Added SFTP key pair authentication as an alternative to password-based connections

1.8.1

(2025-07-28)

Fixed

  • Fixed the clean filter incorrectly removing valid UTF-8 characters (e.g., ä, ö, å)

1.8.0

(2025-07-07)

Features

  • Added ability to retrieve minimum and maximum prices for products with custom options using min_price and max_price attributes

Improvements

  • Improved admin accessibility to meet WCAG 2.2 AA standards

1.7.13

(2025-06-26)

Fixed

  • Fixed the "Quantity" filter condition not including bundle products (now treated like configurable products)
  • Fixed error on the dynamic category edit page when remote storage is enabled

1.7.12

(2025-06-10)

Improvements

  • Improved category selection logic — when multiple categories exist at the same depth, the one appearing first in the navigation tree is chosen

Fixed

  • Fixed an exception when retrieving the quantity of certain bundle products
  • Fixed text and textarea attributes not displaying available operators in the dynamic attribute form

1.7.11

(2025-05-22)

Fixed

  • Fixed configurable attribute values displaying internal IDs instead of labels in the configurable attributes loop
  • Fixed some categories not appearing in the tree on the dynamic categories page

1.7.10

(2025-05-14)

Fixed

  • Fixed compilation error on Magento Cloud

1.7.9

(2025-05-07)

Fixed

  • Fixed feeds being delivered with the default filename (mst_feed_id) instead of the saved custom name
  • Fixed products appearing in the feed preview even when filters returned no results

1.7.8

(2025-04-28)

Fixed

  • Fixed false "Please generate the feed before delivery" error when the feed was already generated

1.7.7

(2025-04-15)

Fixed

  • Fixed error on the dynamic attribute creation page

1.7.6

(2025-04-10)

Features

  • Added support for liquid variables in the "Filename" field (e.g., use store-specific filenames)

Improvements

  • Improved dynamic attribute performance

Fixed

  • Fixed compatibility with Magento 2.4.8

1.7.5

(2025-03-31)

Improvements

  • Added recurring setup script to automatically import new templates during upgrades

1.7.4

(2025-03-18)

Fixed

  • Fixed the issue with exporting templates

1.7.3

(2025-03-13)

Fixed

  • Fixed mass actions not working when a filter is applied on the Templates page

1.7.2

(2025-03-04)

Fixed

  • Fixed duplicate products appearing in the feed

1.7.1

(2025-02-28)

Features

  • Added ability to save a custom category path in category mapping

Improvements

  • Category retrieval now sorts by category ID for consistent results

1.7.0

(2025-02-25)

Features

  • Added ability to apply filters when previewing a feed, so you can verify filter results before generation

1.6.4

(2025-02-21)

Fixed

  • Fixed {{ product.stock_status }} returning incorrect values when Backorders are enabled
  • Fixed array-to-string conversion error when creating a filter with a multiselect attribute

1.6.3

(2025-02-17)

Features

  • Added 40 new feed templates for additional platforms

1.6.2

(2025-01-30)

Features

  • Added ability to include "Minimum Qty Allowed in Shopping Cart" and "Qty Increments" values in feeds

Improvements

  • Feed preview now applies the same custom validation used during generation
  • ⚠️ Migrated from Zend Framework to Laminas. Ensure your environment supports Laminas before upgrading

1.6.1

(2025-01-22)

Features

  • Added over 50 new feed templates
  • Added ability to loop through tier prices: {% for tier_price in product.tier_prices %} with access to price, quantity, price_type, customer_group, and website_id

Fixed

  • Fixed incorrect "Delivered At" value in the feed_delivery_success notification email

1.6.0

(2025-01-09)

Features

  • Added "Warning" status indicator when feed generation gets stuck
  • Added access to category mapping values in the category loop using {{ category.mapping:1 }}

Improvements

  • Updated all built-in feed templates

Fixed

  • Fixed SFTP delivery failing when no path is specified
  • Fixed the resize modifier failing when no input value is provided
  • Fixed filter condition combination set to "False" not working correctly

1.5.6

(2024-12-13)

Features

  • Added "Google Shopping Local Inventory Feed" template
  • Added ability to loop through product source items: {% for source in product.source_items %} with access to source.quantity

Fixed

  • Fixed incorrect category retrieval on multi-website setups
  • Fixed CSV feed preview error when a column value is an object

1.5.5

(2024-12-03)

Improvements

  • Optimized special price date retrieval — significantly faster feed generation when multiple catalog price rules are active

1.5.4

(2024-11-27)

Features

  • Added feed templates for Hotline, Prom, Rozetka, Ceneo, eBay, Instagram, Pinterest, and TikTok

Improvements

  • Updated Awin, Facebook Dynamic Ads, Google Shopping, and Pagineprezzi templates

Fixed

  • Fixed error during template import when template data is invalid
  • Fixed deprecated dynamic property warning in TemplateSource
  • Fixed template import failure when referenced template no longer exists

1.5.3

(2024-11-08)

Features

  • Added ability to retrieve parent configurable attributes and their values: {% for attribute in product.configurable_attributes %} with access to attribute.code, attribute.value, and attribute.label

Improvements

  • FTP port number is now automatically extracted from the "Host Name" field, so you no longer need to configure it separately

1.5.2

(2024-10-28)

Fixed

  • Fixed error when applying modifiers to integer attribute values

1.5.1

(2024-10-24)

Features

  • Added ability to enable/disable SSL for FTP/FTPS connections in FTP Settings
  • Added trim and ltrim modifiers for removing whitespace from attribute values

Improvements

  • Special price dates now pulled from catalog price rules when the rule applies to not-logged-in customers

Fixed

  • Fixed category tree only allowing one category to be selected in Filter Conditions
  • Fixed the {% else %} tag only working once per XML feed template

1.5.0

(2024-09-27)

Features

  • Added ability to convert XML feed output to JSON format

1.4.12

(2024-09-10)

Fixed

  • Fixed feed generation via CLI on AWS environments

1.4.11

(2024-08-23)

Fixed

  • Fixed special_from_date and special_to_date attributes displaying expired dates
  • Fixed special price dates for configurable products when a catalog price rule is applied

1.4.10

(2024-08-09)

Fixed

  • Fixed error in dynamic attributes output

1.4.9

(2024-07-24)

Fixed

  • Fixed template import on AWS S3 storage
  • Fixed inclTax and exclTax modifiers failing with non-numeric values

1.4.8

(2024-07-11)

Improvements

  • Feed temporary files now use the feed filename instead of numeric ID for easier identification
  • Updated special price date logic to correctly determine active date ranges
  • Improved AWS S3 compatibility — uploads now use relative paths
  • Added Content Security Policy (CSP) compliance

Fixed

  • Fixed modifier arguments being incorrectly parsed when values contain the pipe (|) character

1.4.7

(2024-06-27)

Fixed

  • Fixed inline script Content Security Policy (CSP) errors
  • Fixed url_with_options modifier displaying attribute IDs instead of attribute codes
  • Fixed product grid on filter page (Mageplaza ProductGrid compatibility)

1.4.6

(2024-06-17)

Improvements

  • Attempting to edit a feed without a valid ID now redirects to the feed creation page
  • Parent product lookup now correctly returns the actual parent product type

Fixed

  • Fixed file locking failures on shared NFS disk volumes
  • Fixed product URLs incorrectly including the admin path

1.4.5

(2024-05-29)

Improvements

  • Category selection now returns the deepest category that belongs to the feed's store root category

Fixed

  • Fixed CSV feeds rendering multiple rows as a single line
  • Fixed product URLs incorrectly including the admin path
  • Fixed extra spaces in the "Gallery Image Collection" output

1.4.4

(2024-04-26)

Features

  • Added "Strip style tag" modifier to remove inline <style> tags from attribute values

Fixed

  • Fixed feed preview not working in CSV feeds due to jQuery conflict

1.4.3

(2024-04-18)

Improvements

  • Reports tracking script is now only loaded when the reports feature is enabled in configuration

Fixed

  • Fixed incorrect feed URL generation

1.4.2

(2024-03-21)

Features

  • Added ability to include the "Manage Stock" attribute in feeds

Improvements

  • Feed delivery now verifies that the feed has been generated before attempting to deliver

Fixed

  • Fixed custom static attributes not saving correctly
  • Fixed feed generation on Magento PWA setups

1.4.1

(2024-03-04)

Fixed

  • Fixed empty first line appearing in CSV/TXT feeds when the header is excluded
  • Fixed incorrect stock status for bundle products
  • Fixed feed email notifications not being sent
  • Fixed compatibility with PHP 7.1

1.4.0

(2024-02-21)

Features

  • Added support for managing feeds in remote storage (e.g., AWS S3)

Improvements

  • Optimized the "Content Settings" tab loading when the store has over 1000 product attributes
  • Category retrieval now only returns categories from the selected store

Fixed

  • Fixed CSV and TXT feeds where modifier arguments were stored incorrectly (a migration patch is included)
  • Fixed incorrect lowest category selection for products

1.3.19

(2024-01-26)

Improvements

  • Reports feature now uses plain JavaScript for compatibility with the Hyvä theme

Fixed

  • Fixed incorrect product URLs in review feeds
  • Fixed product filter not being applied to review feeds
  • Fixed "Filters" display on the feed edit page
  • Fixed cron export error when schedule date is null
  • Fixed the append filter returning null instead of a string

1.3.18

(2024-01-18)

Improvements

  • FTP/FTPS delivery now creates a secure SSL connection by default

Fixed

  • Fixed the parent product lookup in Magento B2B environments

1.3.17

(2024-01-05)

Improvements

  • Added validation to prevent circular parent-child product references

Fixed

  • Fixed the category.parent_category.id pattern returning incorrect values

1.3.16

(2023-12-22)

Fixed

  • Fixed getFinalPrice returning a boolean instead of a numeric value in certain cases
  • Fixed the mirasvit:feed:export CLI command failing when the --step parameter is used

1.3.15

(2023-12-08)

Improvements

  • ⚠️ Changed format_serialized column type from text to longtext in mst_feed_feed and mst_feed_template tables to support larger feed configurations

1.3.14

(2023-11-23)

Features

  • Added ability to access all parent products in an XML feed template

Fixed

  • Fixed stock_status and is_in_stock attributes returning incorrect values when MSI (Multi Source Inventory) is enabled
  • Fixed store codes being incorrectly appended to feed URLs

1.3.13

(2023-11-16)

Fixed

  • Fixed adding and removing rows, modifiers, and validators in the field mapping table
  • Fixed the mirasvit:feed:cron CLI command failing with an error
  • Fixed feed preview loading from the wrong tab when accessed from "FTP Settings"

1.3.12

(2023-11-09)

Improvements

  • Dynamic attributes that reference themselves are now excluded from processing to prevent infinite loops

Fixed

  • Fixed the category_ids attribute not working in CSV and TXT feeds

1.3.11

(2023-10-13)

Fixed

  • Fixed error in Facebook feed preview
  • Fixed incorrect return type of the convert modifier

1.3.10

(2023-10-06)

Fixed

  • Fixed store resolver plugin returning incorrect type
  • Fixed the "Format date" modifier producing unexpected output

1.3.9

(2023-10-04)

Features

  • Added ability to filter feeds by MSI (Multi Source Inventory) stock availability

Improvements

  • Improved request validation for saving dynamic variables

1.3.8

(2023-09-25)

Features

  • Added "excludes" filter for the {% if %} tag in feed content settings
  • Added ability to store dynamic variables in the var/mst_feed folder

Fixed

  • Fixed compatibility with CustomGento DefaultStoreCodeRemover module
  • Fixed feed filters failing when Magento_Inventory module is disabled
  • Fixed error when a category attribute is null during feed generation
  • Fixed the "contains" filter for the {% if %} tag not matching correctly

1.3.7

(2023-09-12)

Fixed

  • Fixed type error in the children-in-stock calculation

1.3.6

(2023-09-08)

Fixed

  • Fixed the truncatewords filter not working correctly

1.3.5

(2023-09-04)

Fixed

  • Fixed incorrect feed URL generation
  • Fixed tracking parameter types for feed reports

1.3.4

(2023-08-23)

Fixed

  • Fixed number filter not working correctly (regression from 1.3.0)

1.3.3

(2023-08-22)

Fixed

  • Fixed string filter not working correctly (regression from 1.3.0)

1.3.2

(2023-08-18)

Fixed

  • Fixed incorrect data type handling in multiple filters (regression from 1.3.0)

1.3.1

(2023-08-15)

Fixed

  • Fixed feed generation errors on PHP 8 (regression from 1.3.0)

1.3.0

(2023-08-14)

Improvements

  • ⚠️ Complete admin interface rewrite — switched from custom form blocks to Magento UI Components for feeds, templates, dynamic attributes, categories, variables, and import/export pages
  • ⚠️ Removed legacy Block/Adminhtml form classes and service/repository interfaces. Any customizations extending these classes will need to be updated
  • ⚠️ Renamed source model and observer classes (e.g., ArchiveArchiveSource, DeliveryFailFeedDeliveryFailObserver). Update DI preferences if you have custom overrides
  • Improved PHP 8.1 compatibility by removing deprecated dynamic properties
  • Improved code quality with strict typing throughout models, controllers, and resolvers

1.2.11

(2023-04-25)

Fixed

  • Fixed modifier input values not being captured in XML feed templates
  • Fixed missing liquid modifiers on PHP 8.1
  • Fixed error on Filter edit page when loading product columns component
  • Fixed missing block names in layouts causing rendering issues
  • Fixed "Column 'entity_id' is ambiguous" error on filter preview
  • Fixed styling issues with buttons and progress bar

1.2.10

(2023-03-15)

Improvements

  • Added support for Magento 2.4.6
  • Improved search filter in templates and feeds grid

Fixed

  • Fixed PHP 8.2 compatibility issues

1.2.9

(2022-12-15)

Fixed

  • Fixed filter preview showing incorrect stock status

1.2.8

(2022-09-20)

Fixed

  • Fixed not all feeds being displayed on the main feeds list
  • Fixed feed generation with email notifications enabled causing errors
  • Fixed JavaScript cookie handling on Magento 2.4.5 that could block the checkout page

1.2.7

(2022-09-14)

Features

  • Added feed statistics display on the feed edit page
  • Added product preview on the filter page

1.2.6

(2022-09-08)

Features

  • Added feed statistics columns to the feeds grid

Improvements

  • Updated admin grid layouts

Fixed

  • Fixed ETA calculation errors during feed generation

1.2.5

(2022-08-18)

Fixed

  • Fixed product data not being displayed for some products in review feeds

1.2.4

(2022-08-09)

Fixed

  • Fixed incorrect return value from CLI console commands

1.2.3

(2022-07-05)

Fixed

  • Fixed feed generation progress bar losing focus during generation

1.2.2

(2022-06-20)

Improvements

  • Removed db_schema_whitelist.json (no longer needed after declarative schema migration)

1.2.1

(2022-05-23)

Improvements

  • Updated module dependency versions

1.2.0

(2022-05-13)

Improvements

  • ⚠️ Migrated to Magento declarative database schema. All legacy Install/Upgrade schema scripts have been removed and replaced with db_schema.xml and a SetupData data patch

1.1.38

(2022-04-05)

Fixed

  • Fixed liquid patterns not being processed correctly in feed templates

1.1.37

(2022-03-23)

Improvements

  • Added PHP 8.1 compatibility — fixed deprecated dynamic properties, type errors in filters, and price/product resolver issues

1.1.36

(2021-12-23)

Fixed

  • Fixed Category Mapping autocomplete search not returning results

1.1.35

(2021-11-09)

Improvements

  • Added demo site restrictions for dynamic variable PHP code execution

1.1.34

(2021-09-28)

Features

  • Added eCommerce Network feed template

Improvements

  • Updated Google autocomplete categories in Category Mappings

1.1.33

(2021-05-07)

Fixed

  • Fixed "IS NOT" filter condition not matching correctly

1.1.32

(2021-05-07)

Features

  • Added ability to use additional images in filter rule conditions

Improvements

  • Implemented LockManager interface for more reliable file locking during generation

Fixed

  • Fixed duplicate feed generation when multiple cron processes run simultaneously

1.1.31

(2021-04-12)

Fixed

  • Fixed "Amount of Children in stock" filter producing incorrect results during cron generation
  • Fixed Category Mapping autocomplete not appearing

1.1.30

(2021-01-28)

Features

  • Added Trovaprezzi feed template

Improvements

  • Added option to enable or disable fast filtering mode in the feed "Additional" tab

1.1.29

(2020-12-30)

Fixed

  • Fixed "IS" filter condition producing incorrect output
  • Fixed character encoding issues in feed preview
  • Fixed inability to set an empty field value in filter conditions

1.1.28

(2020-12-03)

Features

  • Added option to disable Facebook metadata tracking in the "Additional" tab

1.1.27

(2020-11-18)

Improvements

  • Significantly faster feed generation when using Category Mappings
  • Added Multi Source Inventory stock filter conditions

1.1.26

(2020-11-13)

Fixed

  • Fixed incorrect class reference in the Zend Reflection library installation notification

1.1.25

(2020-11-09)

Improvements

  • Added PHP 7.4 compatibility
  • Added clear error message when the Zend Reflection library is not installed

Fixed

  • Fixed incorrect delete confirmation message on the filters page

1.1.24

(2020-10-21)

Features

  • Added "Item Group ID" attribute for product feeds

Fixed

  • Fixed invalid ID attribute in feed output

1.1.23

(2020-09-28)

Fixed

  • Fixed incorrect product filtering by categories

1.1.22

(2020-09-11)

Features

  • Added Facebook metadata to feed pages for improved social sharing and pixel tracking

1.1.21

(2020-09-10)

Fixed

  • Fixed incorrect product count when applying filters

1.1.20

(2020-09-08)

Improvements

  • Redesigned filter interface with improved applying logic

1.1.19

(2020-09-05)

Fixed

  • Fixed modal overlay not appearing behind the generation progress dialog

1.1.18

(2020-07-29)

Improvements

  • Added support for Magento 2.4

1.1.17

(2020-07-03)

Fixed

  • Fixed filter conditions not working for non-default product attributes

1.1.16

(2020-06-12)

Features

  • Added ability to export salable quantities from Multi Source Inventory stocks

Fixed

  • Fixed filter conditions not being applied correctly

1.1.15

(2020-05-15)

Fixed

  • Fixed "Product Type" attribute values being exported as IDs instead of labels in CSV and TXT feeds
  • Fixed product collection sorting interfering with feed generation order

1.1.14

(2020-05-12)

Fixed

  • Fixed errors during the filtration step

1.1.13

(2020-04-29)

Improvements

  • Improved product filtration performance

1.1.12

(2020-04-14)

Fixed

  • Fixed inactive special prices being included in feed output

1.1.11

(2020-03-23)

Fixed

  • Fixed incorrect select options for the "Manage Stock" rule condition

1.1.10

(2020-03-04)

Fixed

  • Fixed cron enable/disable toggle not reflecting the current cron status
  • Fixed price format output

1.1.9

(2020-02-19)

Fixed

  • Fixed error when creating a new category mapping

1.1.8

(2020-02-04)

Features

  • Added cron schedule information to the "Scheduled Task" feed tab

1.1.7

(2019-12-27)

Features

  • Added "Product URL with custom options" attribute for including option-specific URLs in feeds

1.1.6

(2019-12-18)

Features

  • Added Multi Source Inventory filter conditions: "Manage Stock" and "Qty"

Fixed

  • Fixed incorrect select options for the "Manage Stock" filter condition

1.1.5

(2019-11-22)

Fixed

  • Fixed route conflict by renaming "feed" to "mst_feed"
  • Fixed "Undefined offset" error on Magento Commerce (EE)
  • Fixed "chmod not permitted" error during feed file operations

1.1.3

(2019-10-29)

Fixed

  • Fixed installation issues on Magento 2.2.x

1.1.2

(2019-10-25)

Fixed

  • Fixed "Undefined offset 0" error on Magento Commerce (EE)

1.1.1

(2019-10-25)

Fixed

  • Fixed Magento Marketplace validation test failures

1.1.0

(2019-10-11)

Features

  • Added "Created At" and "Updated At" filter conditions for time-based product filtering

1.0.110

(2019-09-17)

Fixed

  • Fixed AM/PM format display in the cron schedule list
  • Fixed mass export action for templates in the grid

1.0.109

(2019-08-22)

Improvements

  • Updated built-in feed templates
  • Added warning notification when feed filename is missing before generation

1.0.108

(2019-08-12)

Features

  • Added 10 new feed templates

1.0.107

(2019-08-08)

Improvements

  • Code standards refactoring

1.0.106

(2019-06-05)

Features

  • Added "Amazon Seller Central" feed template
  • Added ability to duplicate Dynamic Attributes from the grid action column

1.0.105

(2019-05-28)

Features

  • Added ability to export Multi Source Inventory sources (Magento 2.3+)

1.0.104

(2019-05-22)

Fixed

  • Fixed order tracking in Feed Reports
  • Fixed incorrect "Reviews Count" attribute export

1.0.103

(2019-04-10)

Fixed

  • Fixed "Status (Parent Product)" filter condition not working correctly
  • Fixed "for tag was never closed" error on the feed preview page

1.0.102

(2019-03-28)

Features

  • Added "HTML Entity Decode" modifier

1.0.101

(2019-03-19)

Fixed

  • Fixed filtering by multi-select attributes

1.0.100

(2019-02-22)

Fixed

  • Fixed incorrect store view selection when generating feeds via cron

1.0.99

(2019-02-07)

Features

  • Added "Gallery image collection" attribute for exporting all product images

Fixed

  • Fixed incorrect enclosure characters in CSV and TXT feed exports

1.0.98

(2019-02-04)

Fixed

  • Fixed column length limitation for dynamic category values

1.0.97

(2019-01-10)

Fixed

  • Fixed cron feed generation failing after New Year date rollover

1.0.96

(2019-01-09)

Fixed

  • Fixed "Is in Stock" attribute returning incorrect values

1.0.95

(2018-12-28)

Features

  • Added ability to filter products without a category
  • Added new text modifiers

1.0.94

(2018-12-20)

Fixed

  • Fixed "Append" modifier producing incorrect results when applied to numeric values
  • Fixed Dynamic Attribute returning empty output instead of zero values

1.0.93

(2018-12-14)

Features

  • Added "Final Price with Tax" product attribute

Improvements

  • Updated "Google Shopping Review" template

Fixed

  • Fixed error when creating a new feed using the Empty Template

1.0.92

(2018-12-11)

Features

  • Added new text modifiers

Fixed

  • Fixed math modifiers (Addition, Subtraction, Multiplication, Division) producing incorrect results

1.0.91

(2018-11-30)

Improvements

  • Added Magento 2.3 support

1.0.90

(2018-11-29)

Fixed

  • Fixed data serialization issue on Magento versions below 2.3

1.0.89

(2018-11-28)

Improvements

  • Added Magento 2.3 compatibility

1.0.88

(2018-11-23)

Fixed

  • Fixed small image pattern not exporting the full image path

1.0.87

(2018-11-20)

Features

  • Added "Product ID" filter condition
  • Added "Qty of children in stock" attribute for export

1.0.86

(2018-11-19)

Fixed

  • Fixed category level calculation error

1.0.85

(2018-11-15)

Features

  • Added new templates: "Facebook Dynamic Ads", "Domodi", "Marktplaats"

Improvements

  • Updated "Google Shopping Review" template to comply with new XML Schema requirements
  • Updated existing templates

1.0.84

(2018-11-09)

Features

  • Added "Stock Status" product attribute

Fixed

  • Fixed categories being exported in incorrect position order

1.0.83

(2018-10-25)

Fixed

  • Fixed incorrect timezone in the time pattern export
  • Fixed empty feed being generated when filter conditions are applied

1.0.82

(2018-10-02)

Fixed

  • Fixed possible product sorting issue during generation

1.0.81

(2018-09-11)

Improvements

  • Optimized feed generation performance by streamlining product attribute resolution

1.0.80

(2018-09-06)

Improvements

  • Added memory usage and iteration time display to the CLI export command

1.0.79

(2018-09-05)

Improvements

  • Created separate option group for Category Mappings in the admin menu

Fixed

  • Fixed feed notification emails not being sent
  • Fixed out-of-stock products being excluded from feeds even when filters allow them
  • Fixed truncate filter failing with multibyte (non-Latin) strings
  • Fixed server error during feed generation

1.0.77

(2018-08-09)

Improvements

  • Improved "Is Salable" filter — now checks parent product salable status when filtering children

Fixed

  • Fixed incorrect category path export by levels

1.0.76

(2018-07-24)

Fixed

  • Fixed incorrect Review Summary Rating export
  • Fixed SQL errors during Magento installation

1.0.74

(2018-07-23)

Fixed

  • Fixed eval function error when using Dynamic Variables

1.0.73

(2018-07-17)

Fixed

  • Fixed notification email compatibility with Magento 2.1.x

1.0.72

(2018-07-16)

Fixed

  • Fixed feed delivery and export via CLI commands
  • Fixed notification emails not being sent

1.0.71

(2018-07-10)

Fixed

  • Fixed reports pie chart not displaying by setting the default column

1.0.70

(2018-06-28)

Features

  • Added "Final Price" filter condition

Improvements

  • Improved "Is Salable" filter condition

Fixed

  • Fixed image and image size filter conditions not processing correctly
  • Fixed incorrect or missing enclosures in TXT and CSV feeds

1.0.69

(2018-06-04)

Fixed

  • Fixed feed scheduled generation running at incorrect times

1.0.68

(2018-03-19)

Fixed

  • Fixed "Stock Availability" filter condition not working correctly

1.0.67

(2018-03-12)

Fixed

  • Fixed incorrect product filtering by category IDs
  • Fixed reports not visible in developer mode

1.0.66

(2018-02-26)

Fixed

  • Fixed report display (regression from 1.0.65)

1.0.65

(2018-02-23)

Improvements

  • Updated compatibility with latest Mirasvit Reports module

Fixed

  • Fixed store categories not showing on the Category Mapping page

1.0.64

(2018-02-15)

Features

  • Added filter condition to export products by number of in-stock children

1.0.63

(2018-02-02)

Fixed

  • Fixed file locking failures on Windows

1.0.62

(2017-12-15)

Fixed

  • Fixed YAML parsing library compatibility issue

1.0.61

(2017-12-07)

Fixed

  • Fixed deleting dynamic variables via mass action in the grid

1.0.60

(2017-11-22)

Features

  • Added feed generation report showing generation progress and statistics
  • Display number of generated items in the feed

1.0.59

(2017-11-17)

Fixed

  • Fixed prices being exported incorrectly when generated by cron

1.0.58

(2017-10-12)

Fixed

  • Fixed error when an array value is passed to a string function

1.0.57

(2017-10-12)

Fixed

  • Fixed incorrect parent product values in feeds on Magento Commerce (EE)
  • Fixed error when an array value is passed to a string function

1.0.56

(2017-09-28)

Improvements

  • Added Magento 2.2 compatibility

1.0.55

(2017-06-27)

Features

  • Added modifier to remove all non-UTF-8 characters
  • Added ability to limit gallery image collection size

Fixed

  • Fixed dynamic attribute conditions failing when admin user has custom permissions
  • Fixed "Duplicate entry" error during the filtration step

1.0.54

(2017-06-13)

Fixed

  • Fixed image resolver not returning correct image URLs

1.0.53

(2017-05-05)

Features

  • Added ability to use product attributes in the Google Analytics tab

Fixed

  • Fixed Google Shopping templates using product.price instead of product.finalPrice
  • Fixed "Area code is already set" error during CLI feed generation

1.0.52

(2017-03-30)

Improvements

  • Improved click logging mechanism for better reliability

Fixed

  • Fixed import/export configuration issues

1.0.51

(2017-03-24)

Features

  • Added import/export functionality for feed configurations

1.0.50

(2017-03-21)

Fixed

  • Fixed possible issue with product filtration

1.0.49

(2017-02-27)

Fixed

  • Fixed feed patterns preview not rendering correctly

1.0.48

(2017-02-27)

Fixed

  • Fixed dynamic attributes not working correctly

1.0.47

(2017-02-20)

Features

  • Added ability to export swatch attribute values

1.0.46

(2017-02-14)

Improvements

  • Added dedicated cron group for feed generation to prevent conflicts with other cron jobs

Fixed

  • Fixed Plain filter not processing correctly

1.0.45

(2017-02-01)

Fixed

  • Fixed special character pipe (|) breaking filter values

1.0.44

(2017-01-20)

Improvements

  • Configurable product attributes now fall back to child product values when the parent returns empty

1.0.43

(2017-01-19)

Fixed

  • Fixed thumbnail images not displaying correctly in feeds

1.0.42

(2017-01-11)

Fixed

  • Fixed JSON encoding issue in feed output

1.0.41

(2017-01-10)

Features

  • Added ability to export all attributes at once using the CSV header XALL
  • Added json filter for gallery output: {{ product.gallery | json }}

1.0.40

(2017-01-09)

Fixed

  • Fixed tax rate preview displaying incorrect values

1.0.39

(2017-01-06)

Improvements

  • Added lock mechanism to prevent parallel feed generation via CLI

1.0.38

(2017-01-06)

Fixed

  • Fixed category mapping edit page not loading

1.0.37

(2017-01-06)

Fixed

  • Fixed category mapping not saving correctly

1.0.36

(2017-01-03)

Fixed

  • Fixed nested category mapping not resolving correctly

1.0.35

(2017-01-03)

Features

  • Added ability to place category taxonomy files in pub/media/feed/mapping

Fixed

  • Added missing symfony/yaml dependency

1.0.33

(2016-12-21)

Fixed

  • Fixed category filter excluding simple products that are not visible individually in the catalog

1.0.32

(2016-12-15)

Improvements

  • Improved performance of the CSV feed edit page

1.0.31

(2016-12-14)

Fixed

  • Fixed current date calculation in feed output

1.0.30

(2016-12-09)

Improvements

  • Added Magento 2.2 compatibility

1.0.29

(2016-12-06)

Fixed

  • Fixed dynamic attribute pattern output

1.0.28

(2016-12-05)

Fixed

  • Fixed parent selector in dynamic attributes

1.0.27

(2016-11-11)

Fixed

  • Fixed filtering by Yes/No attributes

1.0.26

(2016-11-04)

Fixed

  • Fixed Status filter not working correctly

1.0.25

(2016-11-02)

Fixed

  • Fixed cron schedule configuration
  • Fixed SFTP feed delivery

1.0.24

(2016-10-21)

Fixed

  • Fixed compilation error

1.0.23

(2016-10-20)

Fixed

  • Fixed error when deleting dynamic attributes
  • Fixed filter by stock quantity not working

1.0.21

(2016-10-12)

Improvements

  • Standardized font-awesome assets across Mirasvit extensions

1.0.20

(2016-10-12)

Fixed

  • Fixed dynamic attributes not working correctly

1.0.19

(2016-10-07)

Fixed

  • Fixed incorrect image URLs in feeds
  • Fixed wrong product URL in multi-store configurations
  • Fixed product category selection to respect the current store

1.0.18

(2016-09-06)

Improvements

  • Category export now uses the deepest category level related to the product

Fixed

  • Fixed category mapping not resolving correctly

1.0.17

(2016-09-05)

Fixed

  • Fixed possible issue with the feed generation process

1.0.16

(2016-08-23)

Fixed

  • Fixed delivery button not working

1.0.15

(2016-08-23)

Fixed

  • Fixed possible issue with product filtration

1.0.14

(2016-07-18)

Fixed

  • Fixed reports not displaying correctly

1.0.13

(2016-06-24)

Improvements

  • Added Magento 2.1 compatibility

Fixed

  • Fixed validation of dynamic attribute rules

1.0.12

(2016-06-17)

Fixed

  • Fixed dynamic attribute values not being saved correctly

1.0.11

(2016-05-25)

Fixed

  • Fixed empty attribute value when attribute contains numeric data

1.0.10

(2016-05-25)

Features

  • Added autocomplete for category mapping
  • Added ability to use dynamic variables in {% for %} loops

Fixed

  • Fixed dynamic attribute conditions for multi-select attributes

1.0.9

(2016-04-11)

Fixed

  • Fixed admin menu navigation
  • Added ACL permissions for dynamic variables

1.0.8

(2016-04-07)

Features

  • Added Dynamic Variables — define custom PHP-based variables for use in feed templates
  • Added offset attribute for {% for %} loops

Fixed

  • Fixed root category appearing in category collection
  • Fixed the capture tag not working correctly

1.0.7

(2016-04-01)

Fixed

  • Fixed cross-browser AJAX request compatibility

1.0.6

(2016-04-01)

Features

  • Added capture tag for storing template output in variables
  • Added Dynamic Attributes — create computed product attributes using conditions
  • Added feed click/impression Reports
  • Added ability to export Related, Cross-Sell, and Up-Sell products

Improvements

  • Added ability to define specific product IDs for feed preview

Fixed

  • Fixed feed generation not including all products for feeds with over 100K products

1.0.5

(2016-03-14)

Features

  • Added mediaSecure and mediaUnsecure URL filters
  • Added {{ product.tax_rate }} attribute for exporting tax rates
  • Added ability to export Related, Cross-Sell, and Up-Sell products

Improvements

  • Added cache-busting for export progress requests
  • Updated "Save" button behavior for Templates, Filters, and Category Mapping
  • Export all images with direct links (without CDN)
  • Feed history now auto-cleans records older than 3 days via cron

Fixed

  • Updated "Google Shopping" template
  • Fixed cron job scheduling issues

1.0.4

(2016-02-17)

Features

  • Added inclTax and exclTax filters for price attributes

Improvements

  • Improved cron-based feed generation with integration tests
  • Improved feed history for CLI and manual export

Fixed

  • Fixed broken link to Category Mapping in the admin menu
  • Fixed gallery images not working in {% for %} loops
  • Fixed price rounding when applying inclTax/exclTax filters
  • Fixed character trimming in {% for %} loops
  • Fixed liquid filters being removed when changing XML expressions
  • Fixed MySQL error on feed preview with empty catalog
  • Fixed incorrect tax calculation

1.0.3

(2016-02-08)

Features

  • Added secure and unsecure URL filters
  • Added prices including tax

1.0.2

(2016-02-07)

Features

  • Added date filter for formatting dates
  • Added {{ product.associatedProducts }} for accessing associated products

Improvements

  • Improved XML syntax highlighting
  • Split product resolver by product type for better performance

Fixed

  • Fixed select/multiselect attribute values not being resolved to labels
  • Fixed incorrect loop length in liquid cycles