About This File
"Генератор атрибутов" автоматизирует создание атрибутов из текста. По заданным шаблонам находит в тексте характеристики и добавляет их к товару. Шаблоны задаются регулярными выражениями PHP.
Модуль поможет, если у вас есть однотипные описания товаров, из которых приходится вручную выписывать атрибуты. Настроив один раз шаблоны, вы больше не будете тратить время на рутинную работу.
Также возможно получать характеристики сразу с интернет-страницы, указав ее URL. Парсить крупные сайты типа Яндекс Маркет или DNS не получится – у них стоит защита.
Лицензия
Одна лицензия включает
- основной домен со всеми поддоменами (site.com, shop.site.com, moskva.site.com)
- тестовый домен: поддомены технических доменов (tmweb.ru, beget.tech, tw1.ru и др.), домены содержащие test, demo, developer и др.
- локальный домен (site.loc, site.local), кроме localhost
- по усмотрению автора, на схожие домены (site.ru – site.by, mysite.ru – my-site.ru)
Лицензия не переносится на другой домен
Установка
- Скачайте архив, подходящий под вашу версию OpenCart
- Установите модуль через "Установщик модулей". Если не сработает, разархивируйте и загрузите вручную из папки upload в корень сайта (там где index.php, admin, catalog), затем через "Установщик модулей" загрузите progroman.attrgen.ocmod.xml
Демо
Админка (demo/demo)
Инструкция
1. Добавление шаблона
1.1. В админке создаем новый атрибут, если он не существует, в разделе "Атрибуты"
1.2. В модуле "ProgRoman - Генератор атрибутов" добавляем новый шаблон
1.2.1. В поле "Атрибут" вводим название и выбираем его из списка
1.2.2. Поле "Шаблон" заполняем регулярным выражением, по которому модуль будет искать атрибут в тексте
в данном примере в тексте будем искать фразу
"Разрешение
\s* - пробел или несколько
(\d+\s*x\s*\d) - число x число, такому шаблону соответствует как 2560x1600 так и 2560 x 1600, скобки нужны, чтобы в дальнейшем подставить эту часть в значение (это называется "карман")"
Замечание: при сохранении сам заключает шаблон в разделители ## и добавляет модификаторы i (не учитывать регистр) и u (UTF-8), но вы можете указать другие.
1.2.3. Поле "Значение" должно содержать то, что мы будем записывать в атрибут товара.
Это может быть:
- часть найденного шаблона: $1 соответствует первым скобкам, $2 - вторым и т.д., считается по открывающей скобке
- просто значение, например "да"
- комбинацией: "$1 см", "$1 x $2"
1.2.4. "Значение по умолчанию" необязательно. Если шаблон не найден, атрибут добавится с ним. Например, "Функция I feel", если в тексте нет "I feel", ставим атрибуту значение "нет"
1.2.5. Сохраняем шаблон.
2. Поиск атрибутов для товара
2.1. В редактировании товара нажимаем кнопку "Генератор атрибутов"
парсить атрибуты будем из описания:
2.2. В окне настроек выбираем нужные опции:
- Язык
-
Источник
- "Описание" – парсится описание товара в соответствии с выбранным языком: из русского описания создаются атрибуты на русском, из английского – на английском
- "Текст" – появится дополнительное поле, куда нужно вставить произвольный текст для разбора
- "URL" – в качестве текста будет загружена страница по URL (если на стороне сервера нет ограничений на роботов), дополнительно можно указать селектор на странице, в котором искать характеристики, чтобы не брать лишнего, например, "#attributes"
- Группа атрибутов – какие использовать. Например, вес может быть в разных группах как у мониторов так и у кондиционеров.
-
Опции
- "Учитывать html-теги" – если нужно парсить с учетом тегов, по умолчанию они вырезаются и разбирается только текст
- "Использовать значения по умолчанию" – если шаблон не найден, создавать атрибут со значением по умолчанию (указывается при создании шаблона в модуле)
2.3. В следующем окне будет список найденных характеристик, здесь при необходимости можно отредактировать значение или удалить лишние
"Заменять текущие значения атрибутов" – если отмечено, существующие значения атрибутов будут переписаны найденными
2.4. "Обновить" – перезапустить парсинг с выбранными опциями. Полезно при составлении шаблонов. Например, заданный шаблон не найден, не закрывая окно, в другом окне правим шаблон, возвращаемся и обновляем.
2.5. "Применить" – атрибуты товара заполнятся найденными значениями, откроется вкладка с атрибутами. Атрибуты сохранятся в БД при сохранении товара
3. Массовая обработка
3.1. В списке товаров отметить нужные, нажать кнопку "Генератор атрибутов"
3.2. Окно опций похоже на п. 3.1, за исключением
- нет "Источника" – всегда используется описание товаров
- "Заменять текущие значения атрибутов" указывается сразу
3.3 Внимание! Массовая обработка сразу сохраняет в базу найденные атрибуты
результат работы можно посмотреть в логе
4. Парсинг URL
Для поиска информации на странице используется библиотека DiDom. Установить можно через Composer, как описано в инструкции. Если не знаете, что это такое и как пользоваться, просто скачайте архив vendor.zip вместе с модулем, папку vendor из него скопируйте:
- для OpenCart 2.3 в system/storage
- для OpenCart 3 в storage, расположение указано в вашем config.php (DIR_STORAGE)