Загрузите архив в Модули → Управление модулями → Загрузить и установить, затем откройте настройки модуля. Модуль создаёт одну таблицу и не меняет файлы CS-Cart.

Настройки

  • Отображение на витрине — во вкладке характеристик над глобальными или под ними, на отдельной вкладке или нигде. У товара режим можно переопределить. Вкладку модуля можно переименовать, переместить или отключить в Веб-сайт → Вкладки товара.
  • Заголовок для характеристик без раздела — «Прочее» или «Основные», когда у товара есть группы глобальных характеристик.
  • Показывать в сравнении товаров — строки сопоставляются по названию без учёта регистра.
  • Редактор в панели администратора — на вкладке «Характеристики» товара или на отдельной вкладке.
  • Отдельные характеристики для каждого языка — если выключить, сохранение на любом языке перезаписывает все языки.
  • Удалять данные модуля при удалении — по умолчанию выключено, чтобы характеристики пережили переустановку и обновление.

Редактор

Строки добавляются кнопками «Добавить поле» и «Добавить раздел», порядок меняется перетаскиванием. Если вставить в поле названия строки из таблицы характеристик или строки вида Название: значение, они разберутся на отдельные поля.

Во вкладке JSON тот же список можно править текстом.

Формат JSON

Полный список задаёт и разделы, и порядок:

[
  { "type": "section", "label": "Экран" },
  { "type": "feature", "key": "Диагональ", "value": "6,5\"" },
  { "type": "feature", "key": "Частота", "value": "120 Гц" }
]

Короткий объект только обновляет значения:

{ "Диагональ": "6,7\"", "Память": "8 ГБ" }

Существующие поля остаются на своих местах и в своих разделах, новые добавляются в конец, а поля, которых нет в объекте или у которых значение null, удаляются.

Импорт и экспорт

В экспорте товаров появляются два поля:

  • Individual attributes — JSON в любом из двух форматов, с учётом языка;
  • Individual attributes display — режим показа на витрине: features_above, features_below, tab, hidden или пусто, чтобы взять настройку модуля.

Если в значениях встречаются неэкранированные дюймы ("7,6""), как бывает в фидах поставщиков, модуль попробует восстановить такой JSON.

REST API

Список приходит в данных товара в поле xtg_individual_attributes и принимается в нём же при создании и изменении товара:

PUT /api/products/42
Content-Type: application/json

{ "xtg_individual_attributes": { "Гарантия": "2 года" } }

Фиды

В настройках модуля есть готовый фрагмент для шаблона фида. Вставьте его внутрь <offer>, после вывода характеристик товара:

{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}

У каждой записи есть поля name, value и section. Разделы, товары с режимом «Не отображать» и характеристики с названием как у глобальной пропускаются.