Оглавление (версия 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 от всех изменений.
Список файлов, в которые вносятся изменения:
- admin/model/catalog/product.php
- admin/controller/catalog/product.php
- admin/view/template/catalog/product_form.tpl
- admin/controller/common/menu.php
- admin/language/english/common/menu.php
- admin/language/english/catalog/product.php
- catalog/language/russian/product/product.php
- admin/language/russian/catalog/product.php
- admin/language/ukrainian/catalog/product.php
- admin/language/russian/common/menu.php
- admin/language/ukrainian/common/menu.php
- admin/language/russian/report/product_purchased.php
- 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 функции:
- - направляет товар из категории поставщика в категорию вашего магазина;
- - помещает скачанные фото товара в нужную подпапку image/catalog или image/data;
- - добавляет наценку на товар, в зависимости от категории товара и величины цены.
Главной категорией товара называется самая младшая категория в цепочке категорий, остальные категории цепочки – называются Родительскими.
Страница «Категории и наценки» предназначена только для младших-главных категорий. Условно, ее можно разделить на левую и правую стороны.
В левой стороне страницы прописываются названия категорий из колонки прайса, которая называется: «Младшая категория» (в точности так, как они там написаны, просто скопируйте их из прайса).
В правой стороне страницы необходимо выбрать категорию магазина, в которую должен быть загружен новый товар.
Тексты в левой стороне страницы не должны повторяться. Если они повторяются в прайсе, то нужно их поправить, например функцией Экселя СЦЕПИТЬ, соединить название младшей категории с родительской:
таким образом, можно добиться уникальности названий категорий в прайс-листе.
Это нужно делать только при добавлении новых товаров в магазин.
Папку для хранения фото товаров определенной категории следует прописать в поле:
Название папки должно быть введено латинским шрифтом.
Подразумевается, что эта папка уже создана в 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.
Поля «Цена закупки» и «Скидка %» предназначены для того, чтобы программа смогла оценить, не будет ли цена конкурентов ниже, чем ваша цена закупки со скидкой, которую предоставляет ваш поставщик.
Отсутствие цены закупки для «АЦК» является ошибкой: если номер колонки, содержащий цену закупки, указан, то в прайс-листе, в этой колонке не допускаются пропуски или нули.
Цена закупки может равняться цене товара в прайсе поставщика.
Существует вероятность, что у всех конкурентов некий товар пропал на сайтах (снят с производства или закончился). В таком случае возникает ситуация «Цену определить не удалось» и программа переходит к выполнению пункта, указанного в этом меню:
Если на сайте донора цена на товар указана, но рядом с ней написано «Товар закончился» или «Снят с производства», то необходимо искусственно вызвать ситуацию «Цену определить не удалось».
Для этого на странице «Цены Конкурентов» есть поле «Введите текст, означающий отсутствие цены» и поле для параметров парсинга этого текста:
Ссылки на конкурентов в прайс-листе должны располагаться в отдельных колонках:
Первый раз необходимо прогнать прайс следующим образом:
для того, чтобы ссылки на конкурентов запомнились или обновились в товаре.
В дальнейшем, ссылки в прайсе будут уже не нужны, достаточно выбрать этот пункт в меню:
Страница «SEO-шаблон»
Страница предназначена для автоматического заполнения мета-данных в товарах, категориях и производителях. А также, для формирования названий фото.
Страница работает:
- - при создании нового товара;
- - при обновлении товара;
- - при автоматическом создании категорий;
- - при автоматическом создании нового производителя,
для этого достаточно выбрать этот пункт в меню на странице «Общие»:
Страница имеет поля для заполнения, в каждом из которых можно прописывать любые тексты вперемешку со специальными обозначениями:
Специальные обозначения - пишутся в квадратных скобках - будут заменены на конкретную характеристику товара без квадратных скобок.
Если указанная характеристика товара не будет найдена, специальное обозначение будет вырезано программой.
Описание специальных обозначений можно увидеть ниже:
Исключение составляет обозначение {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».
Для того, чтобы программа смогла автоматически создать категории в магазине, в соответствии с прайс-листом, прайс-лист нужно подготовить:
- Выровнять (прижать) категории к «младшей».
Было:
Должно быть:
Т.е. колонка «Младшая категория» не должна содержать пропуски.
Прописать номера колонок прайса на странице «Общие» формы поставщика, начиная с «главной-младшей» категории, и далее, в порядке возрастания старшинства категорий, как показано на рисунке ниже для данного примера:
Выбрать Действие
- Сохранить форму, зайти в нее снова и нажать «Старт».
- Зайти в Админ -> «Каталог» -> «Категории», нажать кнопку
«Починить» или «Обновить».
При создании категорий, ошибки в журнал 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 (если он там присутствует).
Вся информация, необходимая для создания категорий, представляется в прайс-листе следующим образом:
- - фото, расположено в колонке с номером на 33 большим, чем название его категории.
- - описание, расположено в колонке с номером на 53 большим, чем название его категории.
- - URL категории, расположено в колонке с номером на 73 большим, чем название его категории.
- - meta-descriptin, расположено в колонке с номером на 93 большим, чем название его категории.
- - meta-keywords, расположено в колонке с номером на 113 большим, чем название его категории.
- - meta-title, расположено в колонке с номером на 133 большим, чем название его категории.
- - meta-h1, расположено в колонке с номером на 153 большим, чем название его категории.
- - порядок сортировки, расположенный в колонке с номером на 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 – не обязательно для заполнения.
- Копировать Model в SKU
Содержимое поля «model» отфильтрованных товаров будет скопировано в поле «sku».
- Вывести список связанных артикулов.
Выводит таблицу связанных артикулов отфильтрованных товаров в файл admin/uploads/ex.xml в следующем виде:
Парсинг артикулов.
Рассмотрим для примера фрагмент страницы сайта-донора:
Здесь видно, что артикул находится между квадратными скобками. Но на странице, таких квадратных скобок много – они находятся в других местах. Следовательно, нужно ограничить область поиска парсера, например текстами: ᐸh2> и /h2> Тогда параметры парсинга будут: ᐸsup>[,]ᐸ/sup>
Название товара.
Название товара может содержаться в нескольких колонках прайс-листа. В таком случае, следует прописать номера этих колонок в поле:
в таком порядке, в котором необходимо составить название товара из его частей. Программа автоматически вставит один пробел между частями названия товара.
Для того, чтобы обновить название товара в магазине, необходимо включить кнопку:
Вместе с обновлением названия, можно обновить и SEO_URL товара, если включить общую кнопку:
Поскольку SEO_URL новых товаров создается из названия товара, то с изменением названия, текст SEO_URL не будет соответствовать новому названию. Но этой возможностью следует пользоваться с осторожностью, т.к. изменение url товара может затруднить поиск товара в Гугл.
Действия с названием товара.
- Найти и заменить в названии товара
Если в названии товара будет найдено слово «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 или 2 станут равными нулю.
Установить минимальное количество товара в заказе, как в Поле1
В отфильтрованных товарах будет заполнено поле «Минимальное количество»:
числом, указанным в Поле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
Здесь, цены увеличиваются на 20%
- Добавить к цене сумму, как в Поле1
Во всех отфильтрованных товарах, цена увеличится на число из Поля1
- Округлить цены до Поле1 знаков после запятой
Во всех отфильтрованных товарах, цены будут округлены
Здесь, цены округляются до целого числа (ноль знаков после замятой).
- Сделать цены кратными числу в Поле1
Во всех отфильтрованных товарах, цены станут такими, что будут делиться без остатка на число из Поля1
Здесь, например, цена 12345 станет 12340
- Установить % скидки на товары: Поле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, а ссылки в тексте описания будут скорректированы таким образом, чтобы эти фото отображались в описании товара на сайте.
Имеется возможность запретить фото в описаниях. Для этого необходимо отключить общую кнопку:
В этом случае, все ссылки на фото будут удалены из описания.
Действия с описаниями.
- Преобразование описаний в псевдо авторский вид. Антиплагиатор.
Сначала, необходимо создать шаблон преобразований в виде таблицы Excel, состоящей из трех колонок:
- Колонка 1 – слово или фраза, подлежащая замене,
- Колонка 2 – слово или фраза, на которую следует заменить слово или фразу из колонки 1,
- Колонка 3 – произвольный текст, который следует добавить.
Словом называется, последовательность символов от пробела до пробела. Например: процессор,
- Если этот текст начинается с круглой скобки, то программа добавит его непосредственно после замененной фразы или слова.
- Если этот текст начинается с буквы, то он будет добавлен, как отдельный абзац, в конце предложения.
- Если этот текст начинается с жирной буквы, то в описание будет добавлен новый раздел.
Тексты в колонках 2 и 3 могут содержать наборы синонимов, ограниченные квадратными скобками и разделенные вертикальной чертой. Например: [прекрасный|замечательный|самый лучший]. Программа выберет только одно слово из перечисленного набора в случайном порядке.
Например:
Великолепный дизайн | Совершенный внешний вид | (производитель всегда уделял [особое|повышенное] внимание дизайну своих продуктов бла-бла) |
---|---|---|
Частота процессора | Частотные характеристики [процессора|CPU] | Несколько слов о частоте процессора. Частота работы процессора – [немаловажный|важный|первостепенный] фактор при выборе товара бла-бла целый абзац бла-бла |
Атрибуты.
В OpenCart, атрибуты (характеристики товара) состоят из 2-х частей: Название и Значение. Название создается в Админ –> Атрибуты, а значение записывается в товар. Каждый атрибут обязательно должен принадлежать к некой Группе атрибутов.
Если программа парсит и загружает атрибуты с сайта-донора, она не может знать, в каких группах ей следует размещать спарсенные атрибуты, и помещает все в Группу №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 из товаров.
Функция просматривает все отфильтрованные товары и удаляет из них атрибут, указанный в поле «Поле1»:
Следует учитывать регистр букв: на сервере, регистр имеет значение.
Заменить атрибут в товаре: Поле1 на Поле2.
Функция заменяет только название атрибута, значение – не изменится. Если атрибут из Поле2 уже есть в товаре, то атрибут из Поле1 удаляется.
Атрибут Поле2 должен быть заранее создан в админ-панеле.
Удалить неиспользуемые атрибуты в админ.
Функция удаляет из админ-панели все атрибуты, которые не привязаны к товарам.
Удалить дубли атрибутов в админ.
Известно, что в Админ-панеле невозможно удалить атрибут, если он привязан к товарам. При автоматическом создании атрибутов случается, что создаются атрибуты одинаковые по смыслу, но разные по названию, например «Мощность» и «Мошность».
Каждый из этих атрибутов может быть привязан к товарам. Это значит, что товары содержат в себе значения атрибута «Мощность» и атрибута «Мошность».
Чтобы исправить такую ситуацию, необходимо переименовать эти атрибуты одинаково: «Мощность», искусственно создав дубли, и выполнить функцию удаления дублей.
Программа просмотрит атрибуты всех товаров и перепишет значения к одному из атрибутов, таким образом, освобождая второй атрибут от привязки к товарам. И удалит его.
Парсинг атрибутов.
Атрибуты парсятся парами: Название-Значение. Поэтому, для этого используется не 2, а 4 параметра. Рассмотрим для примера фрагмент страницы сайта-донора:
Блок атрибутов начинается с текста: class="product-property-list util-clearfix
следовательно, этот текст нужно прописать, как «Текст начала парсинга»:
Название каждого атрибута начинается с текста: title"> и заканчивается текстом: ᐸ/sp,
а значение атрибута заключено между текстами: "> и ᐸ/spa
Следовательно, параметрами парсинга будет: title">,ᐸ/sp,">,ᐸ/spa
Бывает, что расположение атрибутов на странице сайта-донора выглядит таким образом, что между Названием и Значением расположен лишь один символ:
В таком случае, следует использовать три параметра: title">,:,ᐸ/spa
Программа удаляет из Названия и Значения спарсенных атрибутов крайние пробелы.
Если Значение атрибута содержит ссылку на фото в виде ᐸimg src=… >, то программа скачает фото в папку image/catalog/attribute и заменит ссылку в значении атрибута таким образом, чтобы это фото отображалось на сайте.
Обычно, в атрибутах используются небольшие по размеру фото.
Отключить фото в значениях атрибутов можно с помощью «общей кнопки»:
В таком случае все ссылки будут удалены из значений атрибутов.