Редактор товаров

Редактор товаров это вспомогательная функция которая поможет вам редактировать те элементы которые невозможно указать в момент парсинга.
В этой заметке я не буду рассказывать о всех функциях которые присутствуют в редакторе. Это невозможно.
Я только опишу базовую логику использование и не очевидные моменты.

Редактор товаров состоит из трех вкладок.

  1. Фильтр товаров
  2. Действие
  3. Шаблоны

Начнем по порядку.

Фильтр товаров

Здесь вы можете отфильтровать товары которые вы будете редактировать на вкладке Действие.
Присутствует много разнообразных фильтров и вариантов использования. Список доступных фильтров будет увеличивается и может отличатся от списка приведенного в этой статье, так как модуль не стоит на месте.
На данный момент доступны следующие фильтры

  1. Фильтр товаров по проекту. Можно выбрать только те товары которые были спарсены или обновлены этим проектом.
  2. Категории. Товары которые находятся в определенной категории, или категориях.
  3. Производитель. Товары определенного производителя
  4. id товара
  5. Код товара [model]
  6. Артикул [sku]
  7. Название товара
  8. Описание товара
  9. Цена
  10. Кол-во
  11. Статус товара
  12. Дата добавления
  13. Дата последнего обновление
  14. Фильтр по полю UPC
  15. Фильтр по полю EAN
  16. Фильтр по полю JAN
  17. Фильтр по полю ISBN
  18. Фильтр по полю MPN
  19. Фильтр по полю Location

Можно отфильтровать товар по одному из фильтров или комбинировать их вместе. То есть есть возможность сделать очень точную выборку необходимых вам товаров.
Так же доступно указание не одного значения в определенном фильтре, а списка разделенного знаком |

У каждого фильтра есть два параметра.

  1. Не равно (Отрицание)
  2. Указание типа сравнения данных.

Первый параметр это отрицание указанного фильтра. К примеру если вы хотите найти все товары в имени которого нету слова Белый тогда выбираете в первом параметре поле Не равно (Отрицание) а в фильтр вписываем Белый и модуль выведет все товары где НЕТ слова Белый.
По умолчанию он наоборот покажет все товары где ЕСТЬ слово Белый.
Надеюсь понятно объяснил что такое отрицание в фильтрах.

Второй параметр указывает по какой логике выбирать товары, относительно указанных параметров.
Здесь доступны шесть вариантов.

  1. = Применяется к числам и тексту. Когда вы хотите найти точное совпадение.
  2. >=[числу] Применяется только к числам, Больше или равно введенному вами числу. (К примеру цене)
  3. <=[числу] Применяется только к числам, Меньше или равно введенному вами числу. (К примеру Кол-во товара)
  4. [значение]% Применяется и к числам и тексту. % - обозначает любо текст. [значение] - данные что вы вели справа от этого переключателя.
  5. %[значение] Применяется и к числам и тексту. % - обозначает любо текст. [значение] - данные что вы вели справа от этого переключателя.
  6. %[значение]% Применяется и к числам и тексту. % - обозначает любо текст. [значение] - данные что вы вели справа от этого переключателя.

Примеры использования можете увидит на предыдущем скриншоте.

Особенности

Далее в фильтрации по дате добавления и дате последнего обновления товара добавлен оператор {date} {date} - Этот оператор равен сегодняшней дате. Всегда равен той дате когда происходит фильтрация.
Данный оператор необходим для работы редактора товаров через крон, допустим после обновления товаров по рассписанию вы можете указать задание Выключить товар который не обновился сегодня. Тем самым сделать полную автоматизацию обновления товарного ряда при помощи парсинга.
То есть на момент написания этой статьи {date} = "2020-04-22" а завтра будет уже "2020-04-23"
Логика думаю ясна.

Давайте посмотрим через фильтр какие товары были обновлены сегодня.
Поскольку в opencart время создания указывается с часами минутами и секундами, а {date} это только год месяц день, то использовать его нужно с переключателем %[значение]% Как показано на скриншоте выше.

Вкладка действие

Список действий пополняется так же как и фильтров, по этому может отличатся от того списка что написан в этой статье.
На данный момент доступны следующие действия.

  1. Изменить цену товара
  2. Изменить кол-во товара
  3. Статус товар
  4. Отсутствие на складе
  5. Добавить Категории в товар
  6. Изменить Категории в товаре
  7. Указать главную категорию в товаре
  8. Присвоить/Отвязать родительские категории
  9. Изменить производителя
  10. Изменить проект в товарах
  11. Поиск замена
  12. Обновить медатаднные
  13. Обновить SEO_URL
  14. Удалить товары
  15. Удалить акции в товаре
  16. Удалить фото товара
  17. Удалить атрибуты в товаре
  18. Удалить опции в товаре
  19. Пересчитать кол-во товара по количеству опций

Описания всем действиям думаю не стоит делать, они и так говорят сами за себя.

Особенности

Сделаю акцент только на поиск замены. При использовании поиск замены вы можете применять теже правил что и на вкладке поиск замена при парсинге.
Так же поддерживается использование регулярных выражений!!!

Шаблоны в редакторе товаров

Ради этой функции по сути и писался редактор товаров.

При используя шаблоны вы можете ускорить работу с товарами.
Вы можете настроить фильтр на определенные товары, выбрать действие которое вы хотите сделать с этими товарами затем перейти на вкладку шаблоны и сохранить шаблон. После этого у вас в проекте всегда будет доступен шаблон для быстрого выбора и выполнения действия.
То есть вам не нужно будет каждый раз водить одни и теже фильтры что бы сделать одно и тоже действие.
Это делает редактирование товаров максимально удобным и быстрым.

Шаблоны редактора товаров в CRON

Кроме того что шаблоны облегчают повседневную работу с товаром, вы так же можете использовать их в связке с парсингом по расписанию.

Количество выполняемых шаблонов в кроне на одно задание не ограниченно.
Доступны варианты когда именно вы хотите выполнить действие, перед выполнением парсинга по расписанию или после. Хорошо подойдет если вы хотите обнулить остатки товаров которых нет у донора, или вовсе отключить их. Для этого вы можете использовать фильтра дата обновления товара и оператор {date} c отрицанием. В таком случаи после обновления товаров по cron модуль выполнит шаблон, он найдет товары которые сегодня не обновлялись и произведет действие с этими товарами, к примеру поставить статус нет в наличии или отключить товар.

Конец