Оглавление (версия 8.8) | от 30.05.2021



«Автоматическая обработка прайс-листов» представляет собой полный комплекс программ для обслуживания интернет магазина, построенного на платформе OpenCart.

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

Комплекс интегрируется в OpenCart, как его неотъемлемая часть и проявляется пунктом «Поставщики» в меню «Каталог», в Админ-панели.

🐱‍🏍 Автоматическая обработка прайс-листов.

Термин «Поставщик» подразумевает шаблон, настроенный на определенную структуру прайс-листа и/или структуру сайта-донора, с которого осуществляется парсинг частей товара (фото, характеристик, опций…).

В последнем случае, в прайс-листе должна быть колонка, содержащая ссылки на страницы сайта-донора, на каждый товар.

🐱‍🏍 Автоматическая обработка прайс-листов.

Прайс-лист обрабатывается последовательно, строка за строкой. Номер обработанной строки, вместе с Артикулом(SKU) товара, записывается в файл admin/uploads/sos, и в случае возникновения тайм-лимита на хостинге, обработка прайс-листа не начинается с начала, а продолжается с места остановки.

Для продолжения работы, достаточно обновить страницу браузера (Ctrl+F5).

Программа считывает из строки прайс-листа Артикул(SKU), проверяет наличие в магазине товара с точно таким же Артикулом (SKU). Если товар будет найден, он обновится, если товара с таким SKU найдено не будет – он добавится.

🐱‍🏍 Автоматическая обработка прайс-листов.

Результаты обработки каждой строки записываются в файлы: admin/uploads/errors или admin/uploads/report, в зависимости от успешности обработки.

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

Эти шаблоны называются «Форма поставщика». Каждая Форма имеет свое уникальное название, которое вы ей определили

🐱‍🏍 Автоматическая обработка прайс-листов.

и код поставщика (см. колонку Supplier code), который вы тоже присваиваете самостоятельно.

Код поставщика будет автоматически добавлен в товар, в поле «Код товара» (бывшая «Модель»), таким образом, чтобы менеджер магазина смог определить: какому поставщику принадлежит заказываемый товар и правильно ответить на вопрос о сроке его доставки.

🐱‍🏍 Автоматическая обработка прайс-листов.

На рисунке видно, что товар с порядковым номером 1254 принадлежит поставщику 02, т.е. поставщику «Bosh».

Порядковый номер присваивается товару автоматически, это сквозной номер по порядку для всех товаров магазина.

Формы поставщиков хранятся на сервере в базе данных магазина, поэтому после внесения изменений в Форму необходимо нажать на кнопку «Сохранить» или «Применить», чтобы Форма отправилась на сервер и там сохранилась.

Прайс-лист может храниться на вашем компьютере, но перед началом работы он также будет отправлен на сервер, как POST-форма.

Если настройки хостинга не позволят принять POST достаточно большого размера, прайс-лист обработан не будет и в папке отчета admin/uploads будет пусто.

Поэтому, большие прайс-листы необходимо закачивать через FTP на сервер в папку admin/uploads и переименовывать файл прайс-листа, как показано на рисунке ниже:

🐱‍🏍 Автоматическая обработка прайс-листов.

нажмите на ссылку, указанную стрелкой, и прайс-лист начнет обрабатываться.

Номер обрабатываемой строки прайс-листа записывается в файл admin/uploads/sos для того, чтобы программа могла продолжить работу в случае наступления тайм-лимита не с начала, а с этой строки.

После окончания обработки прайс-листа, файл admin/uploads/sos удаляется автоматически, просмотреть его содержимое можно только во время тайм-лимита.

Если sos не удалился, но вы уверены, что обработка закончена (не увеличивается номер строки в файле sos), удалите его самостоятельно. Локальной машине может не хватить прав на удаление этого файла.

Сообщение о тайм-лимите может поступить преждевременно, не спешите обновлять страницу браузера, до тех пор, пока не убедитесь, что номер строки в файле sos не увеличивается. Иначе, может получиться так, что прайс-лист начнет обрабатываться сначала.



Убедитесь, что на хостинге установлен работоспособный OpenCart, узнайте его версию.

Распакуйте и войдите в папку с дистрибутивом комплекса «Автоматическая обработка прайс-листов», откройте: Module --> readme.

Следуйте инструкции в файле readme.

🐱‍🏍 Автоматическая обработка прайс-листов.

Комплекс защищен от несанкционированного распространения ключом, который входит в комплект поставки и активационными файлами, находящимися в папке Activation дистрибутива.

Зайдите в папку Activation и следуйте инструкции в файле readme.

🐱‍🏍 Автоматическая обработка прайс-листов.

Для успешной работы активационных файлов, необходимо, чтобы на сайте был включен ioncube Loader. Обратитесь в тех. поддержку хостинга, попросите включить.

В папке Help содержатся образцы прайс-листов, которые были обработаны на демо-сайтах. Посетите демо-сайты (логин: demo, пароль: demo), посмотрите в качестве примера, как настроены формы поставщиков.

Для установки модуля используются две программы inst.php и finish.php, которые запускаются из браузера по ссылкам site/inst.php и site/finish.php, каждая в свое время.

Программа inst.php вносит изменения в файлы OpenCart. Каждое изменение отмечается знаками /*suppler*/ в начале и /**suppler*/ в конце. Например:

/*suppler*/ "optsku" => $product_option_value["optsku"], /**suppler*/

Это сделано для того, чтобы в случае деинсталляции комплекса, программа uninst.php могла очистить OpenCart от всех изменений.

Список файлов, в которые вносятся изменения:

  1. admin/model/catalog/product.php
  2. admin/controller/catalog/product.php
  3. admin/view/template/catalog/product_form.tpl
  4. admin/controller/common/menu.php
  5. admin/language/english/common/menu.php
  6. admin/language/english/catalog/product.php
  7. catalog/language/russian/product/product.php
  8. admin/language/russian/catalog/product.php
  9. admin/language/ukrainian/catalog/product.php
  10. admin/language/russian/common/menu.php
  11. admin/language/ukrainian/common/menu.php
  12. admin/language/russian/report/product_purchased.php
  13. admin/view/template/common/menu.tpl

Программа finish.php добавляет недостающие поля в таблицы базы данных, необходимые для работы комплекса.



Комплекс обрабатывает прайс-листы в формате «Таблица XML 2003». Однако, практически любой прайс-лист можно преобразовать в этот формат с помощью приложения Excel.

Откройте прайс-лист Excel-ем:

🐱‍🏍 Автоматическая обработка прайс-листов.

На все вопросы приложения ответьте «Да»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Замените буквенные обозначения колонок на числовые для того, чтобы было удобнее настраивать Форму поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Сохраните прайс-лист в формате «Таблица XML 2003»:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Комплекс обрабатывает прайс-листы в формате CSV или в аналогичном текстовом формате с любым разделителем полей.

Разделитель можно определить, открыв прайс-лист текстовым редактором:

🐱‍🏍 Автоматическая обработка прайс-листов.

Этот разделитель, указывается в Форме Поставщика в специальном поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

Прайс-лист не должен содержать объединенные ячейки и формулы.

Чтобы избавиться от формул, необходимо скопировать прайс-лист и вставить его в Excel, как Специальная вставка -> Значения.

🐱‍🏍 Автоматическая обработка прайс-листов.

Ячейка не должна содержать более одной ссылки, более одной части товара (категории, цены, количества на складе, ….), за исключением значений опций и артикулов рекомендуемых товаров.

В этом случае, содержимое ячейки прайс-листа разделяется точкой с запятой:

🐱‍🏍 Автоматическая обработка прайс-листов.

В зависимости от того, обновляете вы товары в магазине или добавляете новые, требования к прайс-листу будут разными. Но в любом случае, в нем должны обязательно присутствовать колонка «Артикул (SKU)» и колонка «Цена».

Для обновления достаточно, чтобы в прайс-листе присутствовали только Артикул и Цена, хотя желательно, конечно обновлять и остатки товаров, т.е. желательно, чтобы была еще и колонка «Остаток на складе».

🐱‍🏍 Автоматическая обработка прайс-листов.

В качестве Артикула можно использовать любой уникальный текст, содержащий любые символы, длиной не больше 64 знаков латиницей или 32 знака кириллицей.

Присутствие Артикула в прайс-листе является обязательным для того, чтобы модуль мог однозначно идентифицировать товар в магазине и обновить именно его, а не какой-нибудь другой.

Если в прайс-листе товар встречается несколько раз, то он будет обновляться столько раз, сколько встретился. Это может быть полезным для последовательного обновления товара по частям. Например, в одной строке прайса, у товара указано: «красного цвета» 5 шт., в другой – «белого цвета» 6 шт, значит, у товара обновятся/добавятся оба значения опции «Цвет».

🐱‍🏍 Автоматическая обработка прайс-листов.

Для добавления новых товаров, трех колонок в прайсе не достаточно. Обязательно нужна колонка «Младшая категория товара», в которой для каждого товара, в каждой строке прайса, что-то написано, пусть даже номер категории.

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Колонка, содержащая Название товара, тоже обязательна для добавления нового товара.

Колонка с Описанием – желательна, но не обязательна: можно написать описание по умолчанию, типа «Описание готовится» и этот текст появится у всех новых товаров, у которых описание отсутствует.

В прайс-листе допускаются колонки со ссылками, типа http. Это либо прямые ссылки на фото товара, заканчивающиеся на jpg/jpeg/png/gif либо ссылки на страницы сторонних сайтов, где представлен товар. Товар без главного фото не добавится.

Некоторые поставщики специально включают в свои прайсы ссылки на фото товаров и на страницы своего сайта, чтобы быстрее расширять сеть своих интернет-магазинов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Если же поставщик предоставляет прайсы, содержащие только цену, название и артикул, то не поленитесь руками добавить в прайс ссылки на товары на его же сайт. Или на какой-либо другой сайт, с качественными фото, описаниями, характеристиками…, тогда модуль сможет спарсить все это в ваш магазин.

За день можно вставить до 800 ссылок, в то время, как на добавление одного товара вручную (с несколькими фото, описанием и характеристиками) уходит, в среднем, до 40 минут.

Максимум, что может содержать прайс-лист, можно увидеть сделав пробный Экспорт товаров магазина (вкладка «Инструменты» -> «Поставщики: Все» -> «Экспорт»).

🐱‍🏍 Автоматическая обработка прайс-листов.

Результат экспорта – файл admin/uploads/ex.xml. Скачайте его на свой компьютер и откройте Экселем.



В форме поставщика описывается структура прайс-листа и действия, которые необходимо выполнить с данным прайс-листом.

Дизайн формы сделан по принципу открытости: отсутствуют подменю и скрытые настройки.

После каждого изменения в форме поставщика, форму необходимо сохранить. При сохранении, форма отправляется на сервер и сохраняется в базе данных Опенкарт.



Прежде всего, форму нужно назвать и указать произвольный номер поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

Название формы – название поставщика не должно быть длиннее 64 символов латиницей или 32 символов кириллицей, а номер (код) поставщика – любое число от 01 до 99.

Курс прайса – это число, на которое нужно умножать цены в прайсе, а курс донора – это число, на которое нужно умножать цены, спарсенные с сайта-донора.

Главный поставщик – это ваш собственный склад, т.е. заранее закупленные товары. Никакой другой поставщик (прайс-лист) не имеет право обновить цену и остаток этих товаров, пока они не закончатся в магазине (пока остаток на складе не станет равным нулю).

Каждый товар, добавленный формой главного поставщика, будет содержать в своем коде знак «тильда», например: 1234~03, это означает, что он принадлежит Главному поставщику.

Форма разделена горизонтальными полосами разных оттенков, отделяющих разные части товаров. Например, в полосе «Артикул (SKU)» прописывается все, что касается артикула товара, а в полосе «Цена» - все, что касается цены товара.

В полосе цена, на темном фоне находятся настройки «Анализа цен конкурентов» ( АЦК ). Этот блок позволяет обновлять цены на товары, используя цены конкурентов. Прайс-лист для этого может не использоваться.

🐱‍🏍 Автоматическая обработка прайс-листов.

В форме поставщика необходимо прописать номера колонок прайса, где содержатся разные части товара. Для этого предназначены поля в колонке слева:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если в прайс-листе отсутствуют сведения о какой-либо части товара (например, отсутствует название), то вместо номера колонки можно прописать параметры, по которым название товара будет спарсено со страницы сайта-донора (см. раздел «Товар»).

В таком случае, в маленьком поле снизу, нужно указать номер колонки прайса, в которой размещена ссылка на страницу сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если в верхнем поле прописать номер колонки с пробелом или с каким-либо другим знаком, кроме числа или запятой, программа подумает, что это не номер колонки (колонок), а параметры парсинга и потребует, чтобы в маленьком поле стояло число, указывающее на номер колонки прайса, со ссылкой на страницу донора.

В нижней части страницы «Общие», на темном фоне находятся общие кнопки настроек:

🐱‍🏍 Автоматическая обработка прайс-листов.

Кнопки красного цвета работают только при создании новых товаров, кнопки зеленого цвета – только при обновлении товаров. Если кнопка не имеет цвета, то она работает всегда.

Внизу-слева страницы находится меню «Действие». Перед нажатием кнопки «Старт», необходимо выбрать нужное действие и сохранить форму.

«Добавлять и обновлять» - обновляет товары по прайсу и добавляет новые товары из прайса в магазин.

При обновлении товаров, учитываются включенные кнопки и прочие указания формы, но если ни одна кнопка не включена, все равно, будут обновляться цены товаров и остатки.

Если в прайс-листе остаток товара равен нулю, то цена на такой товар не обновится. Остаток товара в магазине может обнулиться только в том случае, если товар принадлежит тому же поставщику, формой которого обновляются остатки. Т.е. если совпадут эти коды:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Действие «Добавлять и обновлять» следует включать, если в прайсе, товары представлены несколькими строками с одинаковыми артикулами. Тогда при первой встрече с новым артикулом, будет создан новый товар (добавлять), а при всех последующих встречах, товар будет обновляться (обновлять). При обновлении, в товар могут добавляться новые фото или новые опции:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если будут включены кнопки, разрешающие делать обновление:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Если в прайс-листе цена товара равна нулю или отсутствует, то такой товар пропускается.

Поскольку программа обновляет цены и остатки товара по артикулу, возможна ситуация, когда один поставщик обновляет товар, принадлежавший другому поставщику (у обоих поставщиков в прайсах встречается один и тот же артикул, одного и того же товара).

В таком случае, в коде товара изменится префикс:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

«Только обновлять» - если в прайсе встретится новый артикул, то такой товар будет пропущен. Во всем остальном это действие ничем не отличается от действия «Добавлять и обновлять».

«Только добавлять» - товары, которые уже есть в магазине будут пропущены, новые – добавлены. При этом действии, отчет report может оказаться пустым, если все товары из прайс-листа уже имеются в магазине.

«Не обновлять цены» - в товаре может быть обновлено все, кроме основной цены и цен в опциях. Например: название товара, фото, описание, производитель, остаток, SEO… зависит от включенных кнопок:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

«Не обновлять остатки» - в товаре может быть обновлена любая его часть, кроме остатка. Однако, правило обновления цены остается в силе: если остаток в прайсе равен нулю, то цена не обновляется.

«Не обновлять цены и остатки» - в товаре может быть обновлена любая его часть, кроме остатка и цены.

«Обновлять только остатки» - никакая часть товара, кроме остатка не будет обновлена, независимо от включенных кнопок.

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

«Принудительное обновление» - в товаре может быть обновлена любая его часть, включая остаток равный нулю. Это действие сбрасывает в Коде товара признак главного поставщика. Т.е. знак «тильда» ( 1234~01 ) будет заменен на «тире» ( 1234-01 ).

«Создать категории» - создает категории в админке магазина по прайсу. Категории могут быть созданы вместе с фото описаниями и СЕО, по шаблону. См. раздел «Категории».

«Заполнить страницу «Категории и наценки» - автоматически заполняется страница:

🐱‍🏍 Автоматическая обработка прайс-листов.

по информации из прайс-листа. Точнее, по информации из колонки «Младшие категории».

«…с папками для фото» - автоматически заполняется страница «Категории и наценки», названия категорий транслитерируются в латинский шрифт, добавляется слово «-folder» и полученный текст, прописывается в поле «Папка для фото». Получится, например, так:

hdd-disk-folder

Папка с этим именем создается в image/catalog или в image/data

«Список похожих товаров» - программа сравнит товары из прайс-листа с товарами, существующими в магазине. Но сравнивает не по артикулу, а по названию. В результате будет создана таблица admin/uploads/ex.xml (открывается Экселем), в которой, в каждой строке будут представлены два товара – одинаковые (по мнению программы).

При этом может учитываться категория товара и производитель. В таком случае, сравнение товаров будет более точным (см. раздел «Дубли товаров в магазине»).

«Список новых товаров» - в файле admin/uploads/errors.tmp будет создан список товаров, которые есть в прайсе, но отсутствуют в магазине.

«YML-XML лесенкой» - это действие обрабатывает прайсы формата YML. Прайс такого формата необходимо открыть Экселем и сохранить, как «Таблица XML 2003».

Если прайс выглядит так:

🐱‍🏍 Автоматическая обработка прайс-листов.

то это типичная «лесенка».

Атрибуты в таких прайсах нужно прописывать, как «Стоящие в колонке слева», хоть они и стоят справа (см. страницу «Атрибуты»):

🐱‍🏍 Автоматическая обработка прайс-листов.



Страница предназначена для перенаправления вновь создаваемого товара из категории поставщика в категорию вашего магазина, установления наценки на категорию и папки для скачиваемых фото.

Не всегда категории поставщика, указанные в прайс-листе, совпадают с категориями вашего магазина по названию. Страница «Категории и наценки» устанавливает соответствия между ними.

При обновлении цен, страница используется для добавления наценки, в соответствии с категорией товара и величиной цены. В этом случае, название категории поставщика в прайс-листе значения не имеет.

Страница состоит из полос:

🐱‍🏍 Автоматическая обработка прайс-листов.

Каждая полоса отвечает за одну категорию.

Чекбоксы предназначены для удаления полосы: отметьте нужные чекбоксы и нажмите «Сохранить».

В верхней части страницы всегда есть 3 свободные полосы. После их заполнения, необходимо сохранить форму поставщика и снова в нее зайти. Свободные полосы появятся снова.

Таким образом, можно заполнять неограниченное количество полос. Внизу страницы появится пагинация.

Если заполнено поле «Название категории в прайс-листе» или в этом поле прописан пробел, то не допускается, чтобы соответствующая категория магазина была не выбрана. Программа считает это ошибкой:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Итак, страница выполняет 3 функции:

  1. - направляет товар из категории поставщика в категорию вашего магазина;
  2. - помещает скачанные фото товара в нужную подпапку image/catalog или image/data;
  3. - добавляет наценку на товар, в зависимости от категории товара и величины цены.

Главной категорией товара называется самая младшая категория в цепочке категорий, остальные категории цепочки – называются Родительскими.

Страница «Категории и наценки» предназначена только для младших-главных категорий. Условно, ее можно разделить на левую и правую стороны.

В левой стороне страницы прописываются названия категорий из колонки прайса, которая называется: «Младшая категория» (в точности так, как они там написаны, просто скопируйте их из прайса).

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

Тексты в левой стороне страницы не должны повторяться. Если они повторяются в прайсе, то нужно их поправить, например функцией Экселя СЦЕПИТЬ, соединить название младшей категории с родительской:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Это нужно делать только при добавлении новых товаров в магазин.

Папку для хранения фото товаров определенной категории следует прописать в поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

Название папки должно быть введено латинским шрифтом.

Подразумевается, что эта папка уже создана в image/catalog или image/data.

Название папки может быть сложным:

dress/summer/girls

Такая запись означает путь: image/catalog/dress/summer/girls

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

Поле для наценки – необязательное для заполнения. Если в этом поле прописать число 2, то это будет означать, что все товары из данной категории получат наценку +2%. Т.е. товар стоимостью $100 в прайс-листе, получит в магазине цену $102.

Наценку можно задать формулой зависимости от величины цены товара. Обычно, чем дороже стоит товар, тем меньше наценка. Например, запись:

(0-100)10,(100-200)9.5,(200-500)-8,(500-1000)+30,(1000-100000000)2

(без пробелов) означает:

товар стоимостью от 0 до 100 получит наценку 10% . Имеется в виду цена товара в прайсе после умножения на курс:

🐱‍🏍 Автоматическая обработка прайс-листов.

  • (100-200) - наценка 9,5%
  • (200-500) - скидка 8%
  • (500-1000) - к цене прибавляется число 30

(1000-100000000) - все остальные цены получат наценку 2%

Вот это - не правильно: (0-100)3,(101-200)2 - товар с ценой 100,50 - не попадет ни в один диапазон цен, он останется без наценки.

Наценки на товары по категориям работают не только при добавлении нового товара, но и при обновлении цен существующих товаров.

Происходит это следующим образом:

  • - программа определяет категорию товара в магазине;
  • - ищет эту категорию в правой стороне страницы «Категории и наценки»;
  • - если не находит категорию, то товар остается без наценки, т.е. цена товара станет такой, как написано в прайс-листе, умноженная на курс;
  • - если находит категорию и наценку, то к цене прайса умноженной на курс добавляется наценка.

Страницу «Категории и наценки» можно частично заполнить автоматически в соответствии с прайс-листом.

Заполняется левая сторона страницы, категориями из прайса. Правая колонка – может заполниться, если названия младших категорий в прайсе и магазине совпадут.

Для этого нужно прописать номер колонки с младшей категорией в этом поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

и выбрать Действие: «Заполнить страницу «Категории и наценки».

Если выбрать Действие «…с папками для фото», то название папки будет создано из транслитерированного названия категории и префикса –folder. Например, для категории «блузы детские» будет создана папка в image/catalog или в image/data:

bluzy-detskie-folder

Название папки будет прописано на странице Категории и наценки:

🐱‍🏍 Автоматическая обработка прайс-листов.



Страница разделена на полосы, каждая полоса отвечает за один атрибут загружаемый из прайс-листа.

В верхней части страницы всегда есть 3 свободные полосы. После их заполнения, необходимо сохранить форму поставщика и снова в нее зайти. Свободные полосы появятся снова.

Таким способом можно заполнить неограниченное количество полос.

🐱‍🏍 Автоматическая обработка прайс-листов.

Значение атрибута из указанной колонки прайс-листа ( 7 ), будет помещено в атрибут, выбранный в поле «Соответствует атрибуту»

Если в прайс-листе отсутствуют атрибуты товаров, но есть ссылка на интернет-страницу, где представлен данный товар, то в поле «Номер колонки, содержащей значение атрибута или параметры парсинга», необходимо указать не номер колонки, а параметры парсинга (см. раздел «Атрибуты»):

🐱‍🏍 Автоматическая обработка прайс-листов.

а в меню «Соответствует атрибуту», следует выбрать «Как спарсится».

Одной такой полосы достаточно, чтобы со страницы сайта-донора спарсились все атрибуты, всех товаров.

Номер колонки, содержащий ссылки на страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

следует прописать на странице «Общие» в полосе «Название товара»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Каждое значение, каждого атрибута может быть добавлено в Тэги товара и в Фильтр. Для этого предназначены два поля, в каждой полосе:

🐱‍🏍 Автоматическая обработка прайс-листов.



Страница «Опции» состоит из полос, каждая полоса предназначена для описания одной опции.

🐱‍🏍 Автоматическая обработка прайс-листов.

В верхней части страницы есть пустая полоса, предназначенная для добавления новой опции.

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

В выпадающем меню можно выбрать опцию, прописать в каких колонках прайса находится ее значение, цена и количество. Номера колонок с количеством и значением являются обязательными.

Если название опции прописано в прайс-листе:

🐱‍🏍 Автоматическая обработка прайс-листов.

Тогда в выпадающем меню следует выбрать «Стоящей в колонке слева» (слева от значения опции).

В таком случае, достаточно одной полосы, чтобы добавить/обновить все опции из прайс-листа.

Если значения опции, в прайсе не представлено, но есть ссылка на товар на сайте-донора, то следует, вместо номера колонки, прописать параметры парсинга:

🐱‍🏍 Автоматическая обработка прайс-листов.

а номер колонки, в которой находится ссылка на страницу с товаром, следует прописать на странице «Общие», здесь:

🐱‍🏍 Автоматическая обработка прайс-листов.



Страница «Цены Конкурентов» состоит из полос, каждая полоса предназначена для описания одного конкурента.

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

🐱‍🏍 Автоматическая обработка прайс-листов.

Страница предназначена для парсинга цен на товар из разных источников.

Произвольное и уникальное название источника необходимо прописать в поле «Сайт:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если на сайте донора, цены представлены не в вашей валюте, то рядом указывается курс, отличный от единицы. Также необходимо указать номер колонки в прайс-листе (например 12 ), в которой находится ссылка на товар.

На странице «Общие» есть блок темного цвета, описывающий действия, которые необходимо сделать со спарсенными ценами конкурентов.

В верхнем выпадающем меню есть возможность выбора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если в этом меню выбрать «нет», то анализ цен конкурентов работать не будет и заполненная страница «Цены Конкурентов» будет проигнорирована.

«Оптимальной ценой» называется средневзвешенная цена всех конкурентов с учетом коэффициента доверия: самая низкая цена получает коэффициент доверия 1, самая высокая – 2, все остальные цены – 3.

🐱‍🏍 Автоматическая обработка прайс-листов.

Поля «Цена закупки» и «Скидка %» предназначены для того, чтобы программа смогла оценить, не будет ли цена конкурентов ниже, чем ваша цена закупки со скидкой, которую предоставляет ваш поставщик.

Отсутствие цены закупки для «АЦК» является ошибкой: если номер колонки, содержащий цену закупки, указан, то в прайс-листе, в этой колонке не допускаются пропуски или нули.

Цена закупки может равняться цене товара в прайсе поставщика.

Существует вероятность, что у всех конкурентов некий товар пропал на сайтах (снят с производства или закончился). В таком случае возникает ситуация «Цену определить не удалось» и программа переходит к выполнению пункта, указанного в этом меню:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Для этого на странице «Цены Конкурентов» есть поле «Введите текст, означающий отсутствие цены» и поле для параметров парсинга этого текста:

🐱‍🏍 Автоматическая обработка прайс-листов.

Ссылки на конкурентов в прайс-листе должны располагаться в отдельных колонках:

🐱‍🏍 Автоматическая обработка прайс-листов.

Первый раз необходимо прогнать прайс следующим образом:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

В дальнейшем, ссылки в прайсе будут уже не нужны, достаточно выбрать этот пункт в меню:

🐱‍🏍 Автоматическая обработка прайс-листов.



Страница предназначена для автоматического заполнения мета-данных в товарах, категориях и производителях. А также, для формирования названий фото.

Страница работает:

  • - при создании нового товара;
  • - при обновлении товара;
  • - при автоматическом создании категорий;
  • - при автоматическом создании нового производителя,

для этого достаточно выбрать этот пункт в меню на странице «Общие»:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

🐱‍🏍 Автоматическая обработка прайс-листов.

Специальные обозначения - пишутся в квадратных скобках - будут заменены на конкретную характеристику товара без квадратных скобок.

Если указанная характеристика товара не будет найдена, специальное обозначение будет вырезано программой.

Описание специальных обозначений можно увидеть ниже:

🐱‍🏍 Автоматическая обработка прайс-листов.

Исключение составляет обозначение {i} – оно пишется в фигурных скобках.

Обозначение [text1|text2|text3|….text] разрешает программе выбрать любой текст из перечисленных, случайным образом.

Тексты разделяются символом «|», после квадратной скобки и перед ней, символ «|» не ставится.

Например:

[не дорого|дешево|по низкой цене|по оптовой цене]

В текстах шаблона допускается специальное обозначение «число от 1 до 20 в квадратных скобках». Оно означает ссылку на случайные текст, внизу страницы:

🐱‍🏍 Автоматическая обработка прайс-листов.

Таким образом, обеспечивается вложенность случайных текстов (до 3-х уровней), в результате чего, достигается большее разнообразие мета-данных.

При парсинге фото, название файла с фото сохраняется оригинальное, как на странице донора.

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

🐱‍🏍 Автоматическая обработка прайс-листов.

Это можно сделать в любой момент позже, с помощью страницы «Инструменты».



Страница предназначена для выполнения одного действия (команды).

Настройки страницы не запоминаются: сохранение страницы очищает все настройки.

Каждая форма поставщика имеет свою страницу «Инструменты», которая готова выполнить любое из более, чем 160 действий с товарами данного поставщика.

Принадлежность товара конкретному поставщику, программа определяет по префиксу в коде товара:

🐱‍🏍 Автоматическая обработка прайс-листов.

для того, чтобы инструмент обработал товары всех поставщиков необходимо включить кнопку:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если коды товаров были прописаны не модулем и имеют произвольный вид, эту кнопку включать необходимо.

Страница состоит из двух частей, выделенных светом фона: Фильтр и Действие:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Перед нажатием кнопки «Старт» необходимо выбрать Действие в выпадающем меню и (по необходимости) отфильтровать нужную группу товаров.

Некоторые поля фильтра могут содержать несколько значений, разделенных символом «|»

🐱‍🏍 Автоматическая обработка прайс-листов.

Понимается, как логическое «или».

Поля «Найти» и «Заменить», также допускают несколько значений, разделенных символом «|». Например:

Найти: 3 мес.|6 мес.|12 мес.
Заменить: 3 месяца|6 месяцев|12 месяцев

Понимается, как:

  • Найти «3 мес.» заменить на «3 месяца»
  • Найти «6 мес.» заменить на «6 месяцев»
  • Найти «12 мес.» заменить на «12 месяцев»

Фильтр «Товар имеет атрибут» имеет специфику. Если в поле «Товар не имеет атрибута» ввести тот же атрибут

🐱‍🏍 Автоматическая обработка прайс-листов.

и выполнить экспорт товаров, то можно получить удобный для исправления ошибок документ:

🐱‍🏍 Автоматическая обработка прайс-листов.

Заполнить пропущенные значения и обновить атрибуты в магазине. Ни один товар не останется без Гарантии.

В некоторых Действиях используется термин «вложенные категории». Он означает, что если в фильтре отмечена, например, категория:

🐱‍🏍 Автоматическая обработка прайс-листов.

то обрабатываться будут только категории «Monitors» и «test 1».

Термин «код товара без префикса поставщика» понимается, как число 12345 для товара 12345-хх

Даты задаются в фильтре в формате гггг-мм-чч, например: 2016-08-25 и понимаются, как «включительно».

Подробное описание каждого Действия смотрите в разделе «Инструменты».



Каждая категория в Опенкарт имеет свой номер ( category_id ), который присваивается создаваемой категории автоматически:

🐱‍🏍 Автоматическая обработка прайс-листов.

Категории имеют иерархическую структуру и представляют собой множество цепочек, например:

Инструменты -> Ручной инструмент -> Дрели -> Дрели ударные

Последняя - младшая категория в цепочке: «Дрели ударные» называется «Главной», все остальные – «Родительские» или «Старшие».

Программа различает «главную-младшую» категорию по максимальному номеру category_id среди категорий цепочки. Это означает, что создавать категории следует последовательно сверху вниз: сначала создается категория «Инструменты», потом – «Ручной инструмент» …

Не следует переносить категорию из одной цепочки в другую. Лучше создать новую.



Для создания категорий, программе нужно видеть в прайс-листе цепочки категорий и знать, какая категория является «опорной» (самой старшей). Потому, что программа строит цепочки сверху вниз отталкиваясь от опорной.

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

Но могут быть и более сложные случаи:

🐱‍🏍 Автоматическая обработка прайс-листов.

В данном случае, опорной категорией является категория «Tools».

Для того, чтобы программа смогла автоматически создать категории в магазине, в соответствии с прайс-листом, прайс-лист нужно подготовить:

  1. Выровнять (прижать) категории к «младшей».

Было:

🐱‍🏍 Автоматическая обработка прайс-листов.

Должно быть:

🐱‍🏍 Автоматическая обработка прайс-листов.

Т.е. колонка «Младшая категория» не должна содержать пропуски.

Прописать номера колонок прайса на странице «Общие» формы поставщика, начиная с «главной-младшей» категории, и далее, в порядке возрастания старшинства категорий, как показано на рисунке ниже для данного примера:

🐱‍🏍 Автоматическая обработка прайс-листов.

Выбрать Действие

🐱‍🏍 Автоматическая обработка прайс-листов.

  1. Сохранить форму, зайти в нее снова и нажать «Старт».
  2. Зайти в Админ -> «Каталог» -> «Категории», нажать кнопку

🐱‍🏍 Автоматическая обработка прайс-листов.

«Починить» или «Обновить».

При создании категорий, ошибки в журнал admin/uploads/errors не записываются.

Существует возможность, создавать категории вместе фото, описаниями и SEO-URL.

Для этого нужно прописать имя файла фото (без слэшей) в колонке прайса, которая отличается от колонки, содержащей название категории на +33:

🐱‍🏍 Автоматическая обработка прайс-листов.

Имя файла достаточно прописать только один раз тогда, когда имя категории встретилось впервые.

Файлы фото следует предварительно закачать на сайт в папку image/catalog/ (для OpenCart 1.5.х.х – в папку image/data/).

При создании категорий, программа автоматически создает уникальный SEO_URL каждой категории, транслитерируя ее название. Например, для категории «Для дома» будет создан URL:

dlja-doma

Пробелы заменяются на тире.

Если категории имеют одинаковые названия, программа добавит к URL уникальный номер category_id:

dlja-doma-27

но приоритет имеет URL, прописанный в прайс-листе, в колонке +73 (если он там присутствует).

Вся информация, необходимая для создания категорий, представляется в прайс-листе следующим образом:

  1. - фото, расположено в колонке с номером на 33 большим, чем название его категории.
  2. - описание, расположено в колонке с номером на 53 большим, чем название его категории.
  3. - URL категории, расположено в колонке с номером на 73 большим, чем название его категории.
  4. - meta-descriptin, расположено в колонке с номером на 93 большим, чем название его категории.
  5. - meta-keywords, расположено в колонке с номером на 113 большим, чем название его категории.
  6. - meta-title, расположено в колонке с номером на 133 большим, чем название его категории.
  7. - meta-h1, расположено в колонке с номером на 153 большим, чем название его категории.
  8. - порядок сортировки, расположенный в колонке с номером на 173 большим, чем название его категории.

Мета-данные категорий также могут быть созданы и позже, для этого достаточно прописать шаблон для мета-данных на странице «SEO-шаблон», сохранить форму, а на странице «Инструменты» выполнить функцию «Исправить мета-данные категорий».



Товары должны находиться в младших-главных категориях. В SEO товара отражается его главная-младшая категория. Во всех остальных категориях товары могут только «показываться», эти категории не отражаются в SEO товаров.

Поэтому, при добавлении нового товара, форма поставщика должна «знать», в какую младшую категорию положить товар.

Но для этого необходимо, чтобы в прай-листе, в каждом товаре, в определенном столбце, было указано название или код младшей категории:

🐱‍🏍 Автоматическая обработка прайс-листов.

Тогда, в форме поставщика на странице «Общие», необходимо прописать колонку №6:

🐱‍🏍 Автоматическая обработка прайс-листов.

А на странице «Категории и наценки», необходимо указать, какой категории магазина соответствует каждый текст, находящийся в колонке №6 прайс-листа:

🐱‍🏍 Автоматическая обработка прайс-листов.

Таким образом, товар с названием Processor-1 попадет в категорию Desktop -> PC -> 2.8 GHz

В форме поставщика, которая не предназначена для добавления новых товаров, а только обновляет их, не имеет смысла прописывать номер колонки, в которой находятся категории:

🐱‍🏍 Автоматическая обработка прайс-листов.

программа сама знает, какой младшей категории принадлежит каждый товар в магазине. Соответственно, и прайс-лист может не содержать колонки «Категория».

На странице «Общие» формы поставщика, в полосе «категории» есть меню «Показывать в категориях»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Меню предназначено для распространения товара на другие категории, кроме младшей-главной.

Пункты меню, выделенные красным цветом, работают только при добавлении нового товара, а зеленым – только при обновлении (при условии, что товар действительно обновился).

Рассмотрим каждый пункт меню отдельно:

  • «Показывать в младшей категории» - товары создаются только в младшей категории.
  • «Показывать в заданных категориях» - товар создается в младшей категории и показывается в категориях, которые прописаны в полосе категория, страницы «Общие» формы поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

Номер колонки, содержащий младшие категории, следует прописать первым (на рис. это колонка №11), остальные номера колонок могут следовать в любом порядке, через запятую, без пробелов.

Поскольку содержимое колонки №11 является названиями младших категорий, все они должны быть прописаны на странице «Категории и наценки». Это означает, что тексты из этой колонки в прайс-листе могут отличаться от реальных названий младших категорий в магазине.

Тексты из колонок 10 и 8 не прописываются на странице «Категории и наценки», следовательно, это должны быть реальные названия категорий в магазине. Иначе программа не сможет найти категорию, в которой следует показать товар дополнительно.

  • «Показывать в младшей и родительской» - товары создаются в младшей категории и показываются в ближайшей родительской.
  • «Показывать в младшей и родительских» - товары создаются в младшей категории и во всех родительских категориях.
  • «Показывать в старых и во всех новых» - товары будут показываться в дополнительных категориях, которые встретились в прайс-листе.
  • «Показывать только в младшей» - товары будут показываться только в своих младших-главных категориях.
  • «Показывать только во всех новых» - товары будут удалены из категорий, в которых они раньше показывались и размещены в новых категориях, соответственно прайс-листу.


Перенести товары из младшей-главной категории в другую младшую-главную категорию – задача в 2 действия.

Сначала следует отфильтровать нужные товары:

🐱‍🏍 Автоматическая обработка прайс-листов.

Затем, отметить категорию, в которую следует поместить товар дополнительно и выбрать Действие «Показывать товары также в целевой категории».

🐱‍🏍 Автоматическая обработка прайс-листов.

Таким образом, можно распространять товары на другие категории. Теперь каждый из отфильтрованных товаров будет показываться в категории «Test2».

Второе действие:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Внимание! При смене младшей-главной категории товара необходимо обновить его мета-данные:

🐱‍🏍 Автоматическая обработка прайс-листов.



Мета-данные – это короткие сообщения поисковым системам, предназначенные для продвижения сайта в Интернете.

Эти сообщения должны быть информативными, яркими и по возможности оригинальными.

🐱‍🏍 Автоматическая обработка прайс-листов.

Допускаются всевозможные украшения:

«Настоящее ☛ уникальное предложение. Только у нас можно купить смартфон по ★★★ оптовой цене ★★★ уже сегодня. ✔Большой выбор смартфонов. ✪✪✪ Экономьте с нами ✪✪✪»

Обратите внимание, что название категории «Смартфоны» используется в тексте дважды.

Для создания мета-данных предназначена страница «SEO-шаблон» формы поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

Поскольку названия категорий в магазине разные, в шаблоне используется условное обозначение: [c]

🐱‍🏍 Автоматическая обработка прайс-листов.

которое будет заменено на текстовое название младшей-главной категории.

При автоматическом создании категорий, программа добавит к ним мета-данные, если они будут прописаны на странице «SEO-шаблон» формы поставщика, но отсутствовать в прайс-листе.

Если категории были созданы без мета-данных, то следует заполнить страницу «SEO-шаблон» и выполнить Инструмент:

🐱‍🏍 Автоматическая обработка прайс-листов.

См. страницу «Инструменты» формы поставщика.

С помощью SEO-шаблона и Инструментов можно не только заполнять пустые мета-данные категорий и шаблонное описание, но и изменять их:

🐱‍🏍 Автоматическая обработка прайс-листов.



Если возникла необходимость массово исправить категории в магазине: названия, URL, мета-данные или фото, следует использовать следующий порядок действий:

  • - сделать экспорт существующих категорий в прайс-лист;
  • - внести исправления;
  • - импортировать категории обратно.

Экспорт категорий выполняет Инструмент (см. вкладку Инструменты):

🐱‍🏍 Автоматическая обработка прайс-листов.

Результат экспорта (файл ex.xml) появится в папке admin/uploads на сайте. Файл открывается приложением Excel и имеет следующий вид:

🐱‍🏍 Автоматическая обработка прайс-листов.

В первых 16-ти столбцах выводятся ID категорий и названия. От младшей (Category0) до самой старшей (Category7). В файле представлены все цепочки категорий магазина с уровнем вложенности не более 8.

Мета-данные, фото, описания и URL категорий выводятся в следующем порядке:

  • - фото, расположенное в колонке с номером на 33 большим, чем название его категории.
  • - описание, расположенное в колонке с номером на 53 большим, чем название его категории.
  • - URL категории, расположенное в колонке с номером на 73 большим, чем название его категории.
  • - meta-descriptin, расположенное в колонке с номером на 93 большим, чем название его категории.
  • - meta-keywords, расположенное в колонке с номером на 113 большим, чем название его категории.
  • - meta-title, расположенное в колонке с номером на 133 большим, чем название его категории.
  • - meta-h1, расположенное в колонке с номером на 153 большим, чем название его категории.
  • - порядок сортировки, расположенный в колонке с номером на 173 большим, чем название его категории.

Для исправления категорий в соответствии с этим файлом, необходимо:

  • - внести корректировки в файл ex.xml;
  • - закачать фото в папки, которые указаны в файле в колонках «Photo»;
  • - закачать файл ex.xml на сервер в папку admin/uploads/;
  • - выполнить: Инструменты -> "Исправить категории по ex.xml".

Для создания категорий по этому файлу, необходимо воспользоваться такой формой поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Массово исправить отдельные слова или фразы в описаниях категорий, можно используя Инструменты, например:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если категории были созданы вручную с незаполненным полем SEO_URL, то исправить эту ситуацию позволит Инструмент:

🐱‍🏍 Автоматическая обработка прайс-листов.



Комплекс допускает парсинг названия только младшей категории, т.е. парсится одно слово или фраза. Например, категория «All Laptops» из такого фрагмента:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь вся цепочка категорий заключена между словами ᐸnav и ᐸ/nav, это означает, что «Текстом начала и конца парсинга» мог бы стать код: ᐸnav,ᐸ/nav , а «Параметрами парсинга» - код: ">,ᐸ/

Но между параметрами "> и ᐸ/ в выделенном фрагменте, заключены и другие тексты: «Best Buy», «Computers & Tablets» и «Laptops».

Младшая категория «All Laptops» расположена в самом конце фрагмента, как это обычно и бывает, следовательно, искать ее нужно не слева-направо по фрагменту (в этом случае, будет найдена категория «Best Buy»), а справа-налево.

Такой метод парсинга называется «парсинг назад» и обозначается в «Тексте начала и конца парсинга» символом ᐸ через запятую: ᐸnav,ᐸ /nav,ᐸ

В форме поставщика, параметры парсинга младшей категории должны выглядеть так:

🐱‍🏍 Автоматическая обработка прайс-листов.

В колонке прайс-листа №4 находится ссылка на данную страницу сайта-донора.

Но поскольку все названия младших категорий должны быть перечислены (прописаны) во вкладке «Категории и наценки» заранее, парсинг категорий, как правило, не практикуется.

Гораздо удобнее прописать младшие категории товаров непосредственно в прайс-листе (если их там не было). Тем более, что эту неприятную работу нужно проделать всего один раз – для добавления новых товаров в магазин.

🐱‍🏍 Автоматическая обработка прайс-листов.



Номер колонки в прайс-листе, которая содержит имена производителей товаров, следует прописать в форме поставщика в поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если при добавлении нового товара будет включена кнопка «Создать в магазине», производитель будет создан в Админ –> Производители (красный цвет буквы «С» означает, что эта кнопка работает только при добавлении товаров).

Производитель может быть создан автоматически, вместе со своими мета-данными и описанием. Для этого нужно предварительно заполнить соответствующие поля во вкладке СЕО-шаблон.

Никаких специальных кнопок для этого включать не нужно.

🐱‍🏍 Автоматическая обработка прайс-листов.

Можно заменить производителя в товаре, в соответствии с новыми данными в прайс-листе. Для этого существует кнопка:

🐱‍🏍 Автоматическая обработка прайс-листов.

Эта кнопка работает только при обновлении товара (это обозначается зеленым цветом).

Если новый производитель не был предварительно создан в Админ –> Производители, то программа его создаст автоматически с мета-данными по шаблону.

Мета-данные для производителей можно заполнить и позже. Для этого достаточно заполнить СЕО-шаблон и выполнить один из этих Инструментов:

🐱‍🏍 Автоматическая обработка прайс-листов.

Пункт «Найти и заменить в описаниях производителей» позволяет массово заменить в описаниях производителей слово или фразу. Даже несколько слов или фраз одновременно, например:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь и везде, в качестве разделителя текстов для поиска и замены используется вертикальная черта «|».

Если производитель в товарах прописан с ошибкой, например: “Aple”, то для исправления можно воспользоваться Инструментом:

🐱‍🏍 Автоматическая обработка прайс-листов.

предварительно создав производителя “Apple” в Админ –> Производители.



Артикул. Идентификация товара в магазине.

Программа находит товар в магазине по его артикулу:

🐱‍🏍 Автоматическая обработка прайс-листов.

этот артикул называется «Основной».

Артикул из прайс-листа сопоставляется с артикулами товаров в магазине, если товар с данным артикулом будет найден, то программа обработает этот товар - обновит цену и количество товара, а также и постоянные его части: Название, Описание, Фото, Атрибуты, Опции и др., если в форме поставщика были включены соответствующие кнопки, например:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если товар найден не будет, то программа будет пытаться его создать, если было включено действие «Добавлять и обновлять» или «Только добавлять».

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

В таком случае, идентификация товара происходит по паре: артикул+производитель или по артикул+поставщик. Эта опция включается здесь:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Если прайс-лист содержит две колонки с артикулами (с артикулом и кодом или штрих кодом), и колонка «Артикул» имеет пропуски, то имеется возможность прописать в форме поставщика номер колонки с альтернативным артикулом.

Программа будет использовать альтернативный артикул для поиска товара, если основной артикул в прайс-листе пропущен.

🐱‍🏍 Автоматическая обработка прайс-листов.

Можно заменить основной артикул в товарах на альтернативный. Обычно это используется в случае, когда основной артикул слишком короткий и неоднозначно идентифицирует товар. Например, артикул «А-4» может совпадать у автомобиля Audi-A4 и у мыши:

🐱‍🏍 Автоматическая обработка прайс-листов.

При поиске артикула в магазине, программа может автоматически добавлять к артикулу из прайс-листа префикс. Эта опция поможет избежать простых артикулов в магазине. Например, каждый поставщик может иметь свой уникальный префикс:

🐱‍🏍 Автоматическая обработка прайс-листов.

В данном случае, если в прайс-листе встретился артикул «123», то программа будет искать в магазине артикул «pref-123».

Имеется возможность запретить программе обновлять некоторые товары. Для этого достаточно составить список «неприкосновенных» основных артикулов в первой колонке таблицы Excel, сохранить файл, как exception.xml в виде «Таблица XML» и закачать его на сайт в папку admin/uploads/.

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

Артикулы, связанные с основным, хранятся в БД и позволяют идентифицировать один и тот же товар по любому из них. Система связанных артикулов позволяет избежать дублей товаров, когда, например, разные поставщики маркируют одинаковые товары разными артикулами.

Привязать артикул несуществующего в магазине товара к артикулу существующего - можно с помощью специально созданной формы поставщика «Связать артикулы товаров»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если товар с артикулом в колонке 17 будет найден в магазине, то его основной артикул будет связан с артикулом из колонки 20.

Количество связанных артикулов для каждого товара не ограничено.



Перед добавлением новых товаров в магазин, необходимо убедиться, что в прайс-листе нет товаров, которые уже есть в магазине, но имеют другой артикул (такое возможно, если поставщики не придерживаются стандартных артикулов).

Поэтому рекомендуется, прежде, чем добавлять новые товары из прайс-листа, выполнить действие:

🐱‍🏍 Автоматическая обработка прайс-листов.



Результат – таблица admin/uploads/ex.xml (открывается приложением Excel), которая содержит в каждой строке два товара. По мнению программы, товары в одной строке – одинаковые, но с разными артикулами:

🐱‍🏍 Автоматическая обработка прайс-листов.

Но программа может только предполагать что эти товары одинаковые, решение принимать вам.

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

Затем, следует отметить одинаковые товары желтым цветом, а остальные удалить:

🐱‍🏍 Автоматическая обработка прайс-листов.

Получится «Желтый прайс-лист», который содержит 2 разных артикула одного и того же товара. Эти артикулы следует связать, т.е. загрузить «Желтый прайс-лист» отдельной формой с такими настройками:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов. 🐱‍🏍 Автоматическая обработка прайс-листов. 🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

После всех этих действий, можно добавлять товары. Дубли не создадутся.



Изменить sku: Поле1+sku+Поле2

Во вкладке «Инструменты» предоставляется возможность массово изменять артикулы товаров по простому шаблону:

🐱‍🏍 Автоматическая обработка прайс-листов.

Например, если отфильтровать товары, принадлежащие поставщику 01 и выполнить действие, показанное на рисунке, все артикулы товаров поставщика 01 станут такими: pref-[articul]-inf

То есть, ко всем артикулам добавится префикс «pref-» и инфикс «-inf». Поле Field2 – не обязательно для заполнения.

  1. Копировать Model в SKU

Содержимое поля «model» отфильтрованных товаров будет скопировано в поле «sku».

  1. Вывести список связанных артикулов.

Выводит таблицу связанных артикулов отфильтрованных товаров в файл admin/uploads/ex.xml в следующем виде:

🐱‍🏍 Автоматическая обработка прайс-листов.



Рассмотрим для примера фрагмент страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь видно, что артикул находится между квадратными скобками. Но на странице, таких квадратных скобок много – они находятся в других местах. Следовательно, нужно ограничить область поиска парсера, например текстами: ᐸh2> и /h2> Тогда параметры парсинга будут: ᐸsup>[,]ᐸ/sup>

🐱‍🏍 Автоматическая обработка прайс-листов.



Название товара может содержаться в нескольких колонках прайс-листа. В таком случае, следует прописать номера этих колонок в поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

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

Для того, чтобы обновить название товара в магазине, необходимо включить кнопку:

🐱‍🏍 Автоматическая обработка прайс-листов.

Вместе с обновлением названия, можно обновить и SEO_URL товара, если включить общую кнопку:

🐱‍🏍 Автоматическая обработка прайс-листов.

Поскольку SEO_URL новых товаров создается из названия товара, то с изменением названия, текст SEO_URL не будет соответствовать новому названию. Но этой возможностью следует пользоваться с осторожностью, т.к. изменение url товара может затруднить поиск товара в Гугл.

Действия с названием товара.

  1. Найти и заменить в названии товара

🐱‍🏍 Автоматическая обработка прайс-листов.

Если в названии товара будет найдено слово «Korrect», оно будет заменено на «Correct», круглые скобки будут удалены (заменены на «пусто»).



Рассмотрим для примера фрагмент страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь видно, что название товара заключено между текстами: ᐸh2> и ᐸ/h2> Следовательно, параметры парсинга будут: ᐸh2>,ᐸ/h2>

🐱‍🏍 Автоматическая обработка прайс-листов.

При условии, что в колонке №12 прайс-листа находится ссылка на страницу сайта-донора.



Опенкарт предусматривает количество товара, заданное только в цифровом формате. Однако, в прайс-листе, количество может быть задано в виде текста. Для интерпретации текстов в числа, в форме поставщика предусмотрено поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, текст «Many» будет интерпретирован, как количество 20, текст «Yes» - как 8, а текст «Few» - как 3 (без пробелов).

Одновременно с количеством, есть возможность установить и Статус товара при нулевом остатке. Номер статуса следует прописывать в круглых скобках, непосредственно за числом:

🐱‍🏍 Автоматическая обработка прайс-листов.

Номера Статусов товаров можно увидеть в БД, в таблице stock_status: 5 - нет в наличии; 6 - ожидание 2-3 дня; 7 - в наличии; 8 – предзаказ.

Если номер статуса в круглых скобках не указан, то программа использует статус из поля «Статус» формы поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

Кнопка «Вычитать со склада» выполняет две функции:

  • - разрешает, после продажи товара, уменьшить его остаток на складе на количество купленных экземпляров.
  • - запрещает показывать на сайте значение опции товара, если количество этого значения равно нулю. Например, у товара распродан размер ХL:

🐱‍🏍 Автоматическая обработка прайс-листов.

Поле «Скидка (%) от количества:» задает скидку в %%, в зависимости от количества купленного товара в формате: количество=процент, количество=процент…

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, при покупке 2-х или 3-х экземпляров товара, покупатель получает скидку 4%, при покупке 5 или 6-ти экземпляров – 5%...



Если в прайс-листе, количество товара не указано и не указано количество по умолчанию, то программа не обновит цену товара. За исключением случая, когда выполняется действие «Принудительное обновление».

Если в прайс-листе, количество товара равно нулю, то программа установит ноль на остатке товара в магазине, только в случае, если товар принадлежит тому же поставщику, которому принадлежит и текущий прайс-лист.




Перед обновлением товаров следует выполнить инструмент «Установить количество товара на складе, как в Поле1»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Все отфильтрованные товары станут "Нет в наличии" и получат порядок сортировки больше 1000.

После этого уже можно делать обновление товаров по прайс-листу. Не обновившиеся товары останутся "Нет в наличии" и с порядком сортировки больше 1000, т.е. в конце списка, а товары, которые обновятся – получат реальный остаток и свой старый порядок сортировки.



🐱‍🏍 Автоматическая обработка прайс-листов.

Это действие обнуляет остатки значительно быстрее предыдущего (за 2-3 секунды), но не меняет порядка сортировки товаров. Это действие игнорирует фильтры по товарам на вкладке Инструменты, за исключением фильтра по поставщику.



🐱‍🏍 Автоматическая обработка прайс-листов.

В этом случае, остатки отфильтрованных товаров, которые были равны 1 или 2 станут равными нулю.



В отфильтрованных товарах будет заполнено поле «Минимальное количество»:

🐱‍🏍 Автоматическая обработка прайс-листов.

числом, указанным в Поле1 вкладки «Инструменты».



Во вкладке «Инструменты», в Фильтре есть поле, предназначенное для гибкого отбора товаров магазина по значениям остатков:

🐱‍🏍 Автоматическая обработка прайс-листов.

Такая запись означает, что будут найдены товары с остатками 3 или 4 единицы.



Рассмотрим для примера фрагмент страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, количество товара ( 12 ) находится между текстами: Quantity: и ᐸ/di

Следовательно, параметрами парсинга будут:

🐱‍🏍 Автоматическая обработка прайс-листов.

На рисунке видно, что ссылка на товар на сайте донора находится в колонке №6 прайс-листа.

В случае, если на сайте донора количество товара обозначено текстом:

🐱‍🏍 Автоматическая обработка прайс-листов.

параметры парсинга будут те же самые, но будет спарсено слово «Many». В таком случае, это слово нужно прописать в интерпретаторе количества:

🐱‍🏍 Автоматическая обработка прайс-листов.



Цена товара не может быть текстом или формулой Excel, только числом. Если в прайс-листе цены товаров указаны, например, в колонке 17, то номер этой колонки следует прописать в поле:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если цена товара в прайс-листе не будет указана или указана как ноль, то данная строка прайс-листа будет пропущена.

Программа считывает число из колонки цена и сразу умножает его на курс валюты, указанный в поле «Курс прайса».

Поле «Рекомендованная цена» имеет приоритет перед полем «Цена». Число из колонки «Цена» будет записано в товар только в том случае, если рекомендованная цена будет пропущена в прайс-листе или равна нулю.

Рекомендованная цена не умножается на курс валюты.

Если в прайс-листе, цены на товары указаны в разных валютах, то в нем должна существовать колонка с обозначением валют в международном формате: USD, UAH, EUR… Номер такой колонки прописывается в поле: «Номер колонки, содержащий код валюты»

🐱‍🏍 Автоматическая обработка прайс-листов.

В таком случае, «Курс прайса» должен быть указан, как 1.00, а в OpenCart добавлен модуль «Валюта Плюс» https://opencartforum.com/files/file/1645-valyuta-plyus/



Опенкарт позволяет устанавливать разные цены на один и тот же товар, в зависимости от Группы Покупателей.

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

Каждая Группа Покупателей имеет свой номер:

🐱‍🏍 Автоматическая обработка прайс-листов.

🐱‍🏍 Автоматическая обработка прайс-листов.

Если прайс-лист содержит несколько колонок с ценами для разных Групп Покупателей, то в поле «Цена» следует прописать номера этих колонок через запятые, например, следующим образом:

🐱‍🏍 Автоматическая обработка прайс-листов.

Такая запись означает, что в колонке 18 находятся цены для незарегистрированных покупателей,

  • 19 – для Группы №1,
  • 20 – для Группы №2,
  • 21 – для Группы №4,
  • 22 – для Группы №7.


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

Наценки прописываются в форме поставщика, во вкладке «Категории и наценки»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, на все товары, принадлежащие категории «Пластиковые игрушки» будет сделана наценка 10%, а на товары, принадлежащие категории «Зеркалки», наценка будет установлена по формуле в зависимости от величины цены.

Формула выглядит так: (0-100)10,(100-200)9.5,(200-500)-8,(500-1000)+30,(1000-1000000)2 - (все без пробелов).

Числа в круглых скобках означают диапазон цен в валюте магазина, а числа за скобками означают следующее:

  • (0-100)10 - наценка 10%
  • (100-200)9.5 - наценка 9,5%
  • (200-500) -8 - скидка 8%
  • (500-1000)+30 - к цене прибавляется число 30
  • (1000-100000000)2 - на все остальные цены больше 999, наценка 2%

Пример неправильной формулы: (0-100)3,(101-200)2 Здесь, товар с ценой 100.50 - не получит наценки.

Наценка на категорию может быть включена и отключена Общей кнопкой: «Учитывать маржу на категорию»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Наценка может быть установлена автоматически, по усмотрению программы. Это наценка зависит только от величины цены товара и включается Общей кнопкой в форме поставщика: «Добавить наценку по усмотрению модуля»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Эта наценка имеет приоритет перед наценкой на категорию и регулируется в тексте программы.

Цена в товаре не обновится, если:

  • - включено Действие «Обновлять только цены»:
  • - включено Действие «Не обновлять цены и остатки»
  • - не выполнилось условие:

🐱‍🏍 Автоматическая обработка прайс-листов.

здесь, цена из прайс-листа, умноженная на число в поле «Курс прайса» с добавленной наценкой, сравнивается с существующей ценой товара.

Это меню, позволит включить обновление цены только в том случае, если новая цена на товар оказалась, например, меньше старой. Следовательно, если данный товар есть в прайс-листах разных поставщиков, то в результате в товаре будет установлена минимальная цена.



В полосе «Цена» формы поставщика есть блок, выделенный темным фоном. Этот блок предназначен для общих настроек вычисления оптимальной цены на каждый товар, в зависимости от цен на этот товар, на сторонних торговых площадках.

🐱‍🏍 Автоматическая обработка прайс-листов.

За парсинг цен на товары с этих площадок, отвечает вкладка «Цены и конкуренты».

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь имеется возможность прописать параметры парсинга цен (1), указать курс валюты, в которой каждый конкурент выставляет свои цены (2). А так же, предотвратить ситуацию, при которой будет спарсена цена на товар, которого нет в наличии или он был снят с производства (3). Т.е. цена такого товара не должна учитываться в вычислении оптимальной цены для вашего магазина.

Для настройки анализа цен конкурентов необходима следующая информация:

  • - прайс-лист поставщика с ценами на товары (обязательно);
  • - колонка с ценой закупки в прайс-листе поставщика (обязательно). Если такой колонки нет, то в качестве цены закупки можно использовать цену товара;
  • - процент скидки, которую дает поставщик (не обязательно);
  • - ссылки на страницы конкурентов в прайс-листе поставщика. В каждом товаре может быть неограниченное количество ссылок на разных конкурентов на каждый товар (обязательна хотя бы одна ссылка).


  • - собирает цены на конкретный товар с конкурентов;
  • - сохраняет ссылки на конкурентов в БД магазина;
  • - вычисляет то, что указано в меню:

🐱‍🏍 Автоматическая обработка прайс-листов.

если в меню установлено «нет», это означает, что «Анализ цен конкурентов» отключен.

Под «оптимальной ценой» здесь понимается средневзвешенная цена среди всех конкурентов, в которой учитывается "коэффициент доверия": самая низкая цена, получает доверие 1, самая высокая – 2, все остальные цены – 3.

- прибавляет к полученной цене величину, указанную в поле "на:" (если указано число, то прибавится или вычитается число, если указано число со знаком % - процент):

🐱‍🏍 Автоматическая обработка прайс-листов.

- полученная цена, сравнивается с ценой закупки, с учетом скидки поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

если цена закупки оказалась больше (даже с учетом скидки) цены конкурентов, то программа переходит к выполнению одного из пунктов меню «Если цена у конкурентов оказалась меньше цены закупки:»

🐱‍🏍 Автоматическая обработка прайс-листов.

Ситуация "цену определить не удалось" возникает, если программе не удалось спарсить цену ни с одного конкурента (неудачные параметры парсинга или страница с товаром удалена с сайтов доноров). Или если на странице с товаром, по заданным параметрам, найден текст, прописанный во вкладке «Цены и конкуренты» в поле «Текст, обозначающий отсутствие цены»:

🐱‍🏍 Автоматическая обработка прайс-листов.

В этом случае, программа переходит к выполнению пункта меню «Если цену определить не удалось»:

🐱‍🏍 Автоматическая обработка прайс-листов.

После того, как цены будут обновлены с помощью «Анализа цен конкурентов», все ссылки на сторонние торговые площадки будут сохранены в БД для каждого товара и при следующем обновлении цен, уже не будет необходимости добавлять эти ссылки в оригинальный прайс-лист поставщика. Достаточно будет включить пункт меню «Использовать ссылки» в положение «Сохраненные в товаре»:

🐱‍🏍 Автоматическая обработка прайс-листов.

В таком случае, появляется возможность обновлять цены без прайс-листа. Достаточно выполнить действие на вкладке «Инструменты»:

🐱‍🏍 Автоматическая обработка прайс-листов.

При обновлении цен без прайс-листа, программа не имеет информации об остатках товар на складе поставщика, поэтому, каждому обновленному товару будет установлено количество 10.

Также, остается неизвестной цена закупки товара, она будет либо проигнорирована, либо в качестве цены закупки, может быть использована цена одного из конкурентов:

🐱‍🏍 Автоматическая обработка прайс-листов.



  1. Установить цену на товары, как в Поле1

Во всех отфильтрованных товарах будет установлена цена, указанная в Поле1

🐱‍🏍 Автоматическая обработка прайс-листов.

  1. Применить множитель Поле1 для цен товаров

Во всех отфильтрованных товарах, существующая цена будет умножена на число из Поля1

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, цены увеличиваются на 20%

  1. Добавить к цене сумму, как в Поле1

Во всех отфильтрованных товарах, цена увеличится на число из Поля1

🐱‍🏍 Автоматическая обработка прайс-листов.

  1. Округлить цены до Поле1 знаков после запятой

Во всех отфильтрованных товарах, цены будут округлены

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, цены округляются до целого числа (ноль знаков после замятой).

  1. Сделать цены кратными числу в Поле1

Во всех отфильтрованных товарах, цены станут такими, что будут делиться без остатка на число из Поля1

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, например, цена 12345 станет 12340

  1. Установить % скидки на товары: Поле1 для группы Поле2

Во всех отфильтрованных товарах будет установлена Специальная цена, как % от текущей цены товара, для группы покупателей, номер которой прописан в Поле2

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь, специальная цена для группы покупателей №1 будет на 3% ниже, чем цена товара.



Программа может спарсить несколько цен с одной страницы сайта-донора.

Рассмотрим для примера фрагмент страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь видно, что с помощью параметров парсинга ᐸli>,ᐸ/li> можно получить три цены из приведенного фрагмента кода: 150.00, 30.15 и 160.50 (посторонние тексты и знаки между параметрами парсинга – вырезаются).

Чтобы получить искомую цену товара, следует включить пункт меню:

🐱‍🏍 Автоматическая обработка прайс-листов.

«Если спарсится несколько цен, то выбрать наибольшую», поскольку остальные цены – это налог и Акция, т.е. они априори меньше.

Но есть и другой способ (более универсальный): указать в параметрах парсинга номер числа, который вас интересует. Например, параметры: >Action,ᐸ/ul,3 дадут результат: 30.15

Потому что это число стоит на третьем месте между параметрами >Action и ᐸ/ul (первое число – 150.00, второе число – 2).

Если прописать параметры: >Action,ᐸ/ul,4 - в результате получится число 160.50, если: >Action,ᐸ/ul,5 то тоже 160.50. Если >Action,ᐸ/ul,6 – результат будет тот же: 160.50, т.е. последнее число.



Если в прайс-листе присутствует описание товаров, то обычно, оно находится в определенной колонке. Номер этой колонки прописывается в поле «Описание» на главной вкладке формы поставщика:

🐱‍🏍 Автоматическая обработка прайс-листов.

Если описание находится в нескольких колонках прайс-листа (представлено частями), то его можно собрать в единое целое следующим образом, например:

🐱‍🏍 Автоматическая обработка прайс-листов.

Программа автоматически вставит «перевод строки» (
) между частями описания.

У существующего в магазине товара, описание можно обновить. Для этого предназначено меню:

🐱‍🏍 Автоматическая обработка прайс-листов.

Пункты меню означают:

  • - «Никогда» - описание обновлено не будет;
  • - «Всегда» - если новое описание существует, оно заменит описание в товаре;
  • - «Если качественнее» - программа сравнит размеры старого и нового описаний, количество выделенных текстов, количество абзацев, и если новое описание будет лучше старого, то старое - будет заменено;
  • - «По шаблону» - существующее в товаре описание будет заменено на шаблон прописанный на вкладке «SEO-шаблон» в поле описание:

🐱‍🏍 Автоматическая обработка прайс-листов.

При создании нового товара, описание также может быть взято из «SEO-шаблона», если будет включена кнопка:

🐱‍🏍 Автоматическая обработка прайс-листов.

Новое описание может не только заменить старое, но и дополнить его, во время обновления. Для этого существует меню:

🐱‍🏍 Автоматическая обработка прайс-листов.

Новое описание может быть добавлено снизу, под старым описанием или сверху, над старым. Между этими частями, автоматически будет вставлен «перевод строки».

При обновлении описания по SEO-шаблону, в самом шаблоне можно прописать: обновлять ли описание полностью или дополнить существующее описание шаблонным, сверху или снизу:

🐱‍🏍 Автоматическая обработка прайс-листов.

Здесь: [d] обозначает, существующее в товаре, описание.

В данном примере, описание из шаблона «New description» будет добавлено к описанию товара – снизу.

Текст описания может содержать неограниченное количество фото, представленных в виде: ᐸimg src=….> Все фото будут скачаны на сайт в папку image/catalog/description, а ссылки в тексте описания будут скорректированы таким образом, чтобы эти фото отображались в описании товара на сайте.

Имеется возможность запретить фото в описаниях. Для этого необходимо отключить общую кнопку:

🐱‍🏍 Автоматическая обработка прайс-листов.

В этом случае, все ссылки на фото будут удалены из описания.



  1. Преобразование описаний в псевдо авторский вид. Антиплагиатор.

Сначала, необходимо создать шаблон преобразований в виде таблицы Excel, состоящей из трех колонок:

  1. Колонка 1 – слово или фраза, подлежащая замене,
  2. Колонка 2 – слово или фраза, на которую следует заменить слово или фразу из колонки 1,
  3. Колонка 3 – произвольный текст, который следует добавить.

Словом называется, последовательность символов от пробела до пробела. Например: процессор,

  • Если этот текст начинается с круглой скобки, то программа добавит его непосредственно после замененной фразы или слова.
  • Если этот текст начинается с буквы, то он будет добавлен, как отдельный абзац, в конце предложения.
  • Если этот текст начинается с жирной буквы, то в описание будет добавлен новый раздел.

Тексты в колонках 2 и 3 могут содержать наборы синонимов, ограниченные квадратными скобками и разделенные вертикальной чертой. Например: [прекрасный|замечательный|самый лучший]. Программа выберет только одно слово из перечисленного набора в случайном порядке.

Например:

Великолепный дизайн Совершенный внешний вид (производитель всегда уделял [особое|повышенное] внимание дизайну своих продуктов бла-бла)
Частота процессора Частотные характеристики [процессора|CPU] Несколько слов о частоте процессора. Частота работы процессора – [немаловажный|важный|первостепенный] фактор при выборе товара бла-бла целый абзац бла-бла


В OpenCart, атрибуты (характеристики товара) состоят из 2-х частей: Название и Значение. Название создается в Админ –> Атрибуты, а значение записывается в товар. Каждый атрибут обязательно должен принадлежать к некой Группе атрибутов.

Если программа парсит и загружает атрибуты с сайта-донора, она не может знать, в каких группах ей следует размещать спарсенные атрибуты, и помещает все в Группу №1, которая называется: три пробела.

Эта группа была автоматически создана при первом запуске комплекса. На рисунке ниже, видно, что первые два атрибута принадлежат Группе №1, а остальные пять – группе «Технические».

🐱‍🏍 Автоматическая обработка прайс-листов.



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

  1. Каждый атрибут находится в отдельной колонке

🐱‍🏍 Автоматическая обработка прайс-листов.

Тогда в форме поставщика, во вкладке «Атрибуты» атрибуты прописываются так:

🐱‍🏍 Автоматическая обработка прайс-листов.

При таком расположении атрибутов в прайс-листе, когда точно известно название атрибута, можно дать команду программе загрузить значение атрибута в Фильтр и в Метки:

🐱‍🏍 Автоматическая обработка прайс-листов.

  1. Каждый атрибут в прайс-листе имеет название и значение (название слева, значение справа) и они не привязаны к конкретным колонкам:

🐱‍🏍 Автоматическая обработка прайс-листов.

Тогда в форме поставщика, на вкладке «Атрибуты» атрибуты прописываются так:

🐱‍🏍 Автоматическая обработка прайс-листов.

«Соответствует атрибуту, стоящему в колонке слева…».

В последнем случае, атрибут будет автоматически создан в Админ –> Атрибуты в указанной группе или в группе №1 «три пробела», но добавить значения атрибутов в Фильтр или в Метки, в этом случае, невозможно. Поэтому, сначала следует импортировать атрибуты в товары, потом сделать экспорт с расположением атрибутов по колонкам с помощью Инструмента:

🐱‍🏍 Автоматическая обработка прайс-листов.

и обновить атрибуты в товарах, прописав Группы Фильтра на вкладке «Атрибуты», как показано выше, в первом варианте.



На вкладке «Общие» формы поставщика, есть выпадающее меню, с помощью которого можно совершать с атрибутами определенные действия:

🐱‍🏍 Автоматическая обработка прайс-листов.

«Удалить и создать заново» - атрибуты в товаре будут удалены и вместо старых появятся новые. Если атрибут не был заранее создан в Админ –> Атрибуты, он создастся программой автоматически.

«Обновить, создать, добавить» - к существующим в товаре атрибутам будут добавлены новые, а значения старых атрибутов будут обновлены. Если атрибут не был заранее создан в Админ –> Атрибуты, он создастся программой автоматически.

«Обновить, добавить, не создавать» - программа не будет создавать в Админ –> Атрибуты новые атрибуты. Значения атрибутов в товаре будут обновлены и добавлены новые атрибуты, но только те, которые уже существуют в Админ –> Атрибуты.

«Только обновлять» - значения атрибутов в товаре будут обновлены, новые атрибуты добавлены не будут.

«Создать, добавить, не обновлять» - новые атрибуты будут добавляться в товары, создаваться в Админ –> Атрибуты, но старые значения атрибутов останутся неизменными.

Во вкладке «Инструменты» есть еще несколько действий с атрибутами, которые можно выполнить не используя прайс-лист:



Функция собирает все атрибуты и все возможные их значения из отфильтрованных товаров в таблицу. Таблица выводится в файл admin/uplods/ex.xml в таком виде:

🐱‍🏍 Автоматическая обработка прайс-листов.

Каждый атрибут занимает одну строку. В колонке №2 находится название атрибута, а в следующих колонках справа – все его значения, найденные программой в отфильтрованных товарах.

Колонка «Attribute ID» имеет информационное значение и не принимает участия в работе программы.

По таблице невозможно определить, в каком товаре находится конкретное значение атрибута, но то, что такое значение есть – это точно.



С помощью таблицы можно привести атрибуты магазина к единому стандарту (это необходимо для Фильтра). Достаточно прописать в колонках «New Name» или «New Value» альтернативный текст или число ноль, которое означает, что значение атрибута стоящее слева, должно быть удалено из всех товаров. Например:

🐱‍🏍 Автоматическая обработка прайс-листов.

Затем необходимо переименовать таблицу как attribute.xml и вернуть ее в папку admin/uploads/ на сервер. Выполнить инструмент «Загрузить исправленные атрибуты».

После этого, файл admin/uploads/attribute.xml можно удалить с сервера, но рекомендуется сохранить его на компьютере. По мере наполнения магазина новыми атрибутами, периодически возникает необходимость их стандартизировать.

Если файл admin/uploads/attribute.xml оставить на сервере, то атрибуты будут автоматически стандартизироваться во время импорта.



Функция просматривает все отфильтрованные товары и удаляет из них атрибут, указанный в поле «Поле1»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Следует учитывать регистр букв: на сервере, регистр имеет значение.



Функция заменяет только название атрибута, значение – не изменится. Если атрибут из Поле2 уже есть в товаре, то атрибут из Поле1 удаляется.

🐱‍🏍 Автоматическая обработка прайс-листов.

Атрибут Поле2 должен быть заранее создан в админ-панеле.



Функция удаляет из админ-панели все атрибуты, которые не привязаны к товарам.



Известно, что в Админ-панеле невозможно удалить атрибут, если он привязан к товарам. При автоматическом создании атрибутов случается, что создаются атрибуты одинаковые по смыслу, но разные по названию, например «Мощность» и «Мошность».

Каждый из этих атрибутов может быть привязан к товарам. Это значит, что товары содержат в себе значения атрибута «Мощность» и атрибута «Мошность».

Чтобы исправить такую ситуацию, необходимо переименовать эти атрибуты одинаково: «Мощность», искусственно создав дубли, и выполнить функцию удаления дублей.

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



Атрибуты парсятся парами: Название-Значение. Поэтому, для этого используется не 2, а 4 параметра. Рассмотрим для примера фрагмент страницы сайта-донора:

🐱‍🏍 Автоматическая обработка прайс-листов.

Блок атрибутов начинается с текста: class="product-property-list util-clearfix

следовательно, этот текст нужно прописать, как «Текст начала парсинга»:

🐱‍🏍 Автоматическая обработка прайс-листов.

Название каждого атрибута начинается с текста: title"> и заканчивается текстом: ᐸ/sp,

а значение атрибута заключено между текстами: "> и ᐸ/spa

Следовательно, параметрами парсинга будет: title">,ᐸ/sp,">,ᐸ/spa

🐱‍🏍 Автоматическая обработка прайс-листов.

Бывает, что расположение атрибутов на странице сайта-донора выглядит таким образом, что между Названием и Значением расположен лишь один символ:

🐱‍🏍 Автоматическая обработка прайс-листов.

В таком случае, следует использовать три параметра: title">,:,ᐸ/spa

🐱‍🏍 Автоматическая обработка прайс-листов.

Программа удаляет из Названия и Значения спарсенных атрибутов крайние пробелы.

Если Значение атрибута содержит ссылку на фото в виде ᐸimg src=… >, то программа скачает фото в папку image/catalog/attribute и заменит ссылку в значении атрибута таким образом, чтобы это фото отображалось на сайте.

Обычно, в атрибутах используются небольшие по размеру фото.

Отключить фото в значениях атрибутов можно с помощью «общей кнопки»:

🐱‍🏍 Автоматическая обработка прайс-листов.

В таком случае все ссылки будут удалены из значений атрибутов.