Using this formatter, you can simultaneously change the values in cells that are divided by delimiters,
it can be used to edit parallel values, attributes, options, etc.
You can both change values and delete them in parallel
A button has been added to the top panel of the module with which you can expand and collapse the module to full screen:
The methods for processing categories have been completely redesigned, resulting in increased processing speed.
Using the Number Summary formatter, you can get the minimum , maximum , sum , and average of selected columns.
Accelerated table processing by saving the cache of the penultimate executed formatter
Now, in addition to the text color and background color in the cell, you can select the type of display of data in the column cells:
Styling only affects the display of data in the table and does not affect the price list data in any way.
Added the ability to read Google Sheets tables using "Service Accounts" in cases where the tables are hidden from public access.
To access such tables, you need to create a service account in the " Google API Console" and obtain a " JSON access key"
To get the key:
Follow the link: Google API Console
Create a project , go to "Credentials" and create a "Service Account" credentials
Go to "Service Account" and create a key file in JSON format
Download the key file in JSON format to your computer,
Enable Google Sheets API under "APIs & Services"
Upload the key file to the " JSON key" upload block in the main module settings , then save the settings.
IMPORTANT: To read the table, you must give access to it for the created "Service Account" using the client_email specified in the key file.
After these steps, you can read the table with the module by selecting the source of the price list "Google Sheets API JSON-KEY"
When you select a previously configured formatter, connections with columns that appeared or changed as a result of the action of this formatter will be highlighted.
Each time the table settings (formatters and column layout) are changed, the state of the settings is saved in the change history.
You can return to the previous states of the price list by clicking on one of the lines in the change history list.
You can now add multiple categories to the integration field by separating them with the separator "||" .
A block with new loading conditions has been added to the price list loading settings.
These actions will be performed before loading with products found in your online store
The multi-threaded operation of the " Parsing " and " GPT Chat " formatters has been optimized, as a result of which the speed of processing multi-threaded requests has increased significantly.
Fixed progress indicators for the " Parsing " and " GPT Chat " formatters
Fixed minor errors in the column layout interface
Using this panel, you can easily view all configured formatters and markup blocks, navigate to them and select the required formatter.
This formatter removes all images from the HTML code by removing the "".
Ability to filter the price list and apply formatters to a specified range of rows.
Added new formatter "Remove duplicates"
Searches for duplicate values in the designated column and deletes rows in which duplicates are found.
Allows you to save formatter settings without reloading the table.
Two new items have been added to the options markup menu:
If your store supports SKU options and Multiple Product Photos options, you can now mark them up and upload them to your store.
Allows you to perform mathematical expressions
Example:
5+3*2 - result 11
(5+3)*2 - result -16
You can use mathematical operators:
"+" - addition
"-" - subtraction
"*" - multiplication
"/" - division
"**" - exponentiation
"%" - modulo division
"()" - parentheses for priority of operations
"10..20" - range of numbers from 1 to 10 (result 10||20||30||40||50...)
In an expression, you can use links to cells and columns from price lists:
Example:
5+{~PRICE_ID||LIST_NAME||COL_NAME~} - the result will be added 5 to the cell value from the COL_NAME column in the LIST_NAME price list with the identifier PRICE_ID
5+{~PRICE_ID||LIST_NAME||COL_NAME||ROW_NUM~} - the result will be added 5 to the cell value from the COL_NAME column in the LIST_NAME price list with the PRICE_ID identifier and the row number ROW_NUM
Methods for updating product fields have appeared; now you can choose two options for updating product fields:
1) “Update completely” - The field of the found product will be completely updated from the price list table.
2) “Add to existing” - When choosing this update method, the data from the price list table will be added to the existing data for the found product.
This method is applicable to fields that can have multiple values ( images, categories, attributes, options, discounts, promotions ).
Fields that do not have multiple values ( product name, description, tags, price, etc. ) will be replaced with data from the table, regardless of the choice of update method.
Added the ability to reset balances (number of products) before loading:
Thus, all products (that were previously downloaded from this price list) will have a quantity equal to “0”
In this case, your price list must have a column with the quantity of goods (which will be set after zeroing).
The block with the selection of data for updating the product has been removed from the product update settings:
Instead, there is now one setting in which you can choose to update or not update product data:
A pop-up setting has been added to the product markup blocks in which you can specifically mark the data that needs to be updated for the product (if it is found in the catalog):
Thanks to this approach, you can now accurately add and update product data from different price lists and sources.
The algorithm for loading and updating products into the catalog has been completely redesigned, resulting in a significant increase in speed:
Loading speed for adding 36,000 products:
Update speed of 36,000 products (depending on the amount of data to update):
Added the ability to use variables to compose the path to a file in the file generator:
To compose the folder path and file name you can use variables:
Example for creating the path to the price list folder:
feeds/{supplier_name}/
Result:
feeds/Supplier name/
Example for price list name:
{supplier_name}({date})
Result:
Price list name(2001-01-01)
Now you can limit the size of the price list logging files and the module error log file.
This formatter is mainly used in XML price lists , which contain category nesting hierarchy data.
The formatter creates the path to the format category: Category_1-->Category_2-->Category_3.
The formatter allows you to create a product category path based on three columns:
Creates a new column "PM_CAT_PATH" with category paths.
A sort formatter allows you to sort data in a table by one or more columns.
It can be used if you need to control the order of processing of goods when loading a catalog or to create price lists and data feeds !
Now to upload price lists and upload images you can use FTP links in the following format:
ftp://user_name:password@my-url.com:21/catalog.xml
Analysis of the components of an FTP link:
Added the ability to add a product to all categories from the “product category path”:
Example:
If the product category path is: Category1-->Category2-->Category3
The product will be added to all categories: Category1, Category2, Category3
Otherwise, the product will be added only to the last category: Category3
Now in the OpenCart configuration file " config.php " you can use the " DB_DRIVER " driver: "mysql(i)" and "(m)pdo".
A field for selectively updating product data has been added to the download settings:
A product sorting item has been added to the product layout menu, now you can manage product sorting in your catalog:
Fixed a bug related to the impossibility of stopping the file generation process through the interface
Two new fields have been added to the download settings for selectively updating product data:
Fixed the error of loading product photos from your online store into the editor.
The module has been tested and adapted for all popular versions of OpenСart and ocStore :
When using PHP 5.6, reading files in WORD format will not be available (due to the use of old versions of libraries).
Now, when a new version of the module is released, a module update button will appear in the main module panel.
By clicking on the module update button, a dialog box will appear with information about the changes in the new version of the module and a module update button.
After clicking the update module button, the module will be updated to the latest version.
An additional text translation service "DeepL" has been added to the text translation formatter.
DeepL is a text translation service that uses neural networks for translation, it gives free translation of 500,000 characters of text per month per user.
There were often cases when the user made mistakes when setting up the table by not selecting all the necessary languages for product names, categories, options, attributes, manufacturers ..., as a result of which products without names in other languages were added to the catalog. Such actions affected the display of products, categories, etc. in the store's administrative panel.
Now all empty localization values will be filled with the value of the main store language (if it is not empty) or
another marked (non-empty) value .
It is now possible to change the order of columns in a table by dragging them with the mouse.
This allows you to set the order in which columns in a table are processed.
For example, if you have several columns in your table that are responsible for the category name, then the first column in order with the category will become the main category for the product.
Now you can control this process.
Fixed the work of the formatter "CHAT GPT" and added new neural models:
Fixed errors in the operation of the "CHAT GPT" formatter related to error responses from the service and the operation of filters.
Added new neural models "gpt-4o" and "gpt-4o-mini".
Now it is possible to make many text replacements in one formatter.
A button for deleting the module from the store has been added to the main module settings.
In some versions of OpenCart there is no way to remove a module from the store's admin panel, so a button to remove a module from the store has been added.
A switch for the module interface language has been added to the main panel of the module.
In the settings for unloading products from your store, filters have been added to configure the criteria for unloading products into the table:
Also added a range for unloading goods from the store:
These settings allow you not to download all the products from the store, which in turn speeds up work with the table by reducing the amount of data processed.
Optimized the module core to consume less memory and increase operating speed.
A button for uploading a price list project file has been added to the price list line on the "Suppliers" tab.
This allows you to save the price list project file on your local computer.
All data (formatters, markup, integration, store languages, files for generation, settings, etc.) will be saved to the file.
An additional source for downloading the price list project file has been added to the price list addition form.
On the "Scheduler" tab (on the main panel) added general statistics of downloads and
statistics of downloads of all price lists downloaded using the module.
General download statistics:
Statistics of downloads of all price lists: