Upload the archive in Add-ons → Manage add-ons → Upload & install, then open the add-on settings. The add-on creates one table and does not change CS-Cart files.
Settings
- Display on the storefront — in the Features tab above or below global features, in a separate tab, or nowhere. The mode can be overridden per product. The add-on tab can be renamed, moved or disabled in Website → Product tabs.
- Heading for attributes without a section — “Other” or “General”, when the product also has grouped global features.
- Show in product comparison — rows are matched by name, case-insensitive.
- Editor in the admin panel — on the product’s Features tab or on a tab of its own.
- Separate attributes for each language — when off, saving in any language overwrites all languages.
- Delete add-on data on uninstall — off by default, so the attributes survive reinstalls and updates.
Editor
Add rows with “Add field” and “Add section”, reorder them by dragging. Paste rows from a spec table or Name: value lines into a name box and they split into separate fields.
The JSON tab edits the same list as text.
JSON format
The full list carries sections and order:
[
{ "type": "section", "label": "Display" },
{ "type": "feature", "key": "Size", "value": "6.5\"" },
{ "type": "feature", "key": "Refresh rate", "value": "120 Hz" }
]
A short map only updates values:
{ "Size": "6.7\"", "RAM": "8 GB" }
Existing fields keep their places and sections, new ones are appended, and fields missing from the map or set to null are removed.
Import and export
Product export gets two fields:
- Individual attributes — JSON in either format, per language;
- Individual attributes display — the storefront mode:
features_above,features_below,tab,hidden, or empty to use the add-on setting.
When values contain unescaped inch marks ("7.6""), as supplier feeds often do, the add-on tries to repair the JSON.
REST API
The list comes with product data in the xtg_individual_attributes field and is accepted in the same field when a product is created or updated:
PUT /api/products/42
Content-Type: application/json
{ "xtg_individual_attributes": { "Warranty": "2 years" } }
Feeds
The add-on settings show a snippet for the feed template. Paste it inside <offer>, after the product features:
{foreach fn_xtg_individual_attributes_get_for_feed($product.product_id, $datafeed.lang_code, $product.features) as $attr}
<param name="{$attr.name}">{$attr.value}</param>
{/foreach}
Each entry has name, value and section. Sections, products set to “Do not display” and attributes named like a global feature are skipped.