Категории товара. Добавление
Пример добавления новых товаров в младшую категорию (Пример1).
В режиме добавления, поле "Номер(а) колонки(ок), содержащей категорию товара" не может оставаться пустым. Здесь должен находится, хотя бы один номер колонки прайс листа,

в которой находятся младшие категории товаров:

Колонка с младшими категориями не должна содержать пропусков, т.е. у каждого товара, в каждой строке прайс листа должна быть, каким-либо образом, обозначена младшая категория. Иначе, товар не загрузится, а плагин выдаст ошибку в Отчете, что он не знает, в какую младшую-главную категорию положить товар.
The Product has not been added: Row ~= 5 Category: '' not found in your settings (see page 'Category and margin')
Младшая категория в прайс листе может обозначаться любым текстом, т.к. мы не можем требовать от поставщика, чтобы он называл категории так, как нам удобно. С помощью вкладки "Категории и наценки" можно прописать соответствие категорий: поставщика и вашего магазина:

Если вы не хотите загружать в магазин какую-либо категорию товаров из прайс листа, то просто не прописывайте ее во вкладке "Категории и наценки".
Почему младшая категория называется Главной?
Аргумент 1.
Хотя бы потому, что если товар не показывается в младшей категории, а показывается в старшей, то младшую категорию незачем было и создавать. Можно было бы создать в магазине всего одну категорию "Товар" и все товары поместить в нее :)
Аргумент 2.
Кроме того, в некоторых магазинах, ссылки на товары формируются автоматически, включая название младшей категории:
http://site.com/odezda/palto/palto-women-carden-w12.html
по этой ссылке видно, что товар находится в младшей категории "Пальто".
Аргумент 3.
Мета-данные товара формируются плагином автоматически и используют название младшей категории товара, чтобы более точно описать товар. Сравните:
- "Покупайте наши пальто" или "Покупайте наши товары"
- "Покупайте наши микроскопы" или "Покупайте наши оптические приборы"
Пример добавления новых товаров в младшую и родительские категории (Пример2).
На рисунке видно, что для Главной категории "A" родительскими являются категории "B" и "C"
Чтобы показать товар в категориях "A" и "B":

Чтобы показать товар в категориях "A", "B" и "C":

Пример добавления товаров в произвольные категории (Пример3).
Сначала, нужно определить младшую-главную категорию для товаров. Пусть, главными категориями товаров будут категории из колонки №3 прайс листа. Эти категории следует перенаправить с помощью вкладки "Категории и наценки" ( см. "Пример1" ) и поставить номер 3 самым первым в поле "Категория":

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

Внимание.
Названия дополнительных категорий в прайс листе должны в точности совпадать с категориями магазина. Поскольку дополнительные категории нельзя перенаправить.
Т.е. в магазине должна существовать категория "Бытовая электроника" ( см. Пример1 ).
Коллизия с одинаковыми названиями младших категорий.
Допустим, в прайс листе, категории представлены следующим образом:

В таком случае, во вкладке "Категории и наценки" возникнет коллизия:

В результате и духи и брюки попадут в одну категорию "Летняя одежда".
Задача решается сцеплением текстов из колонок 3 и 4:

(используется символ "точка").
Тогда во вкладке "Категории и наценки" следует прописывать сцепленные тексты:

Таким образом, получились искусственные названия младших категорий, которые оказались точнее.
См. здесь, как заполнить вкладку "Категории и наценки" полу-автоматически.
Атрибуты. Стандартизировать
Если вы создавали в магазине Фильтр по товарам, то наверняка сталкивались с таким неприятным явлением, как разное написание значений атрибутов, имеющих одинаковый смысл.
Фильтр не понимает смысла характеристик и может построить странный выбор:
GPS: Есть / Имеется / Да / Встроенный / + / Yes
Чтобы не возникло путаницы, наличие GPS в смартфоне должно иметь только 2 значения (Да или Нет), а не 6.
Плагин позволяет это исправить.
Исправить все атрибуты и их значения в магазине.
1. Сначала нужно избавиться от лишних атрибутов, не привязанных ни к одному из товаров. Вкладка "Инструменты", три нажатия:

2. Затем, использовать инструмент "Удалить дубли атрибутов в админ", предварительно переименовав атрибуты одинаково, если они имеют одинаковый смысл:


3. Сделать экспорт значений всех атрибутов в таблицу, удобную для корректировки. Вкладка "Инструменты" три нажатия:

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

Правее каждой колонки "Attribute Value" находится пустая колонка "New Value", в которую можно вписать новое, правильное значение атрибута:

Если вписать значение "del", то старое значение атрибута будет удалено.
4. Сохранить файл на сервере под именем ex.xml в формате "Таблица XML"
5. Выполнить инструмент "Загрузить исправленные атрибуты в товары". Вкладка "Инструменты":

6. Подождите, пока плагин закончит работу.
Замена атрибутов и их значений налету при добавлении товаров.
1. Настройте форму поставщика для загрузки новых товаров с атрибутами.
2. Включите Действие "Список новых атрибутов", сохраните форму и запустите прайс лист в работу.
В результате работы модуля в папке admin/uploads появится файл new-attributeN.xml, где N номер формы поставщика, к которой относится этот файл:

В этом файле собраны все атрибуты товаров, которые плагин встретил в прайс листе, которых нет у вас на сайте.
Справа от каждого атрибута или значения есть свободное место, куда можно вписать новое-правильное значение.
3. Переименуйте файл, как attributeN.xml, где N номер формы поставщика.
4. Загрузите файл в папку admin/uploads на сервере и оставьте его там.
Названия атрибутов из прайс листа и их значения будут автоматически переименовываться налету, во время загрузки товаров.
Языки
Режим добавления.
В режиме добавления нового товара, плагин загружает название и описание товара сразу во все языки, которые существуют в магазине:

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

В поле "Название товара" формы поставщика достаточно указать один номер колонки прайс листа, содержащей название (аналогично и в поле "Описание товара").
Атрибуты загружаются иначе.
Можно загрузить разные тексты в разные языки, перечисляя через запятую номера колонок прайс-листа независимо от режима работы плагина.
В режиме добавления и в режиме обновления товаров атрибуты на разных языках загружаются одинаково:

Можно загрузить один и тот же текст во все языки:

Режим обновления.
Одновременно плагин может работать максимум с тремя языками.
На самом верхнем рисунке видно, что каждый язык имеет свой номер - language_id. Если расположить языки в порядке возрастания номеров, то в данном случае, получится последовательность:
Russian, English, Ukrainian
в таком порядке и следует перечислять номера колонок прайс листа в форме поставщика:

Пояснения к рисунку:
- в колонке 2 находится название товара на русском языке
- в колонке 19 находится название товара на английском языке
- в колонке 20 находится название товара на украинском языке
В результате работы такой настройки, в товаре обновятся названия товара на трех языках одновременно.
В случае необходимости обновить название товара только в одном языке (например в украинском) следует прописать только один номер колонки:

и указать номер этого языка в поле:

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

Ручное добавление ссылок в прайс лист - не такой тяжелый труд, как может показаться на первый взгляд. Обычно за 1 рабочий день можно добавить 500 - 800 ссылок, без особого напряжения.
Главное, обеспечить связь артикула товара и ссылки. Чтобы артикулы товаров в магазине совпадали с их артикулами в прайс листе поставщика. Это необходимо для того, чтобы в последствии, плагин мог автоматически обновлять цены и остатки товарам по прайс листам.
Принцип работы парсера.
Задача парсера - найти в тексте нужный фрагмент, используя ваши указания. Можно задать всего 4 указания парсеру:

1. Номер колонки, содержащей ссылку на страницу с товаром (в данном случае, колонка номер 4)
2. Параметры парсинга: два текста в коде страницы, между которыми находится искомый фрагмент. Например, название "Рюкзак Walker Ray Hype Black, 30x50x16 см" находится между параметрами content=" и "

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

Однако, по таким параметрам, плагин спарсит текст website, поскольку он встречается раньше, чем название товара Рюкзак Walker Ray Hype Black, 30x50x16 см (см. код страницы).
Чтобы уточнить парсинг используются "Тексты начала и конца парсинга".
3. Предписывают плагину, какой фрагмент текста нужно вырезать из веб-страницы, чтобы в этом фрагменте искать параметры парсинга.
Если вырезать из исходной страницы фрагмент от текста property="og:title и до конца, то результат парсинга будет правильным потому, что поиск параметров начнется от текста property="og:title:

4. Можно было не использовать "Тексты начала и конца парсинга", если воспользоваться "Номером вхождения первого параметра". В данном случае, первый параметр - слово content=" встречается коде страницы дважды, значит такой вариант парсинга тоже будет правильным:

Парсинг под паролем.
Если вы являетесь официальным партнером поставщика, а сайт поставщика защищен от несанкционированного просмотра, то у вас должен быть логин и пароль для доступа к страницам сайта.
Это означает, что вы можете парсить сайт поставщика. Точнее не вы, а ваш сервер (сайт), на котором установлен плагин. А если говорить совсем точно, то парсит форма поставщика, в которой вы прописали параметры парсинга.
Логин и пароль для доступа к "закрытому" сайту следует прописать в форме поставщика, во вкладке "Cron" в "Основном задании":

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

Парсинг ячейки прайс листа.
Иногда поставщики выводят характеристики товаров не в отдельных колонках прайс листа, а в колонке "Описание" в виде таблицы под текстом:

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

2. Разрешить загрузку атрибутов в товары:

3. Настроить парсинг:

Конкуренты. Настройка "АЦК"
Вкладка "Цены конкурентов".
Предназначена для настройки парсинга цен с веб-страниц конкурентов. И не только:

- Поле для указания номера колонки, содержащей ссылку на веб-страницу конкурента для парсинга. Если вместо ссылки плагин обнаружит там число, он будет считать его спарсенной ценой.
- Название конкурента (произвольный текст).
- Курс валюты конкурента.
- Параметры парсинга цены.
- Текст, который может находится на веб-странице сайта конкурента между параметрами парсинга 6, обозначающий, что спарсенная цена - не актуальна.
- Параметры парсинга текста, обозначающего, что цена не актуальна.
- Цена закупки является обязательной поэтому, если анализ цен конкурентов производится без прайс листа (из "Инструментов"), то один из конкурентов (самый демпингующий) выбирается в качестве поставщика минимальных цен.
Блок "АЦК" (анализ цен конкурентов).
В этом блоке можно настроить условия, при которых цена товара должна измениться в зависимости от цен конкурентов на этот товар. Будем исходить из того, что на каждый товар было получено несколько цен от конкурентов.

- Меню включения "АЦК". Среди цен конкурентов вычисляется средняя арифметическая и уменьшается на 1%. Можно уменьшить цену на 1 денежную единицу, если не указывать знак "%".
- После первого анализа цен конкурентов, ссылки, по которым парсились цены, сохраняются в товарах и в следующий раз, в этом меню можно выбрать пункт "Сохраненные в товаре".
- В этом поле устанавливается скидка, которую поставщик предоставляет вашему магазину. АЦК учитывает ее, чтобы определить минимальную цену на товар, которую вы можете позволить.
- Неприятный случай. Однако, такой результат зависит также и от настройки п.1.
- Ситуация "цену определить не удалось" возникает, когда все конкуренты удалили товар со своих сайтов, либо, когда отметили товар текстом "Снят с производства", "Нет в наличии" или каким-то другим текстом (см. поле 5 на верхнем рисунке).
Термины.

- Допустим, что цена закупки - 110. Цены конкурентов оказались: 109, 115 и 130. Тогда "ближайшей к закупке" окажется цена 115. Цена 109 будет отброшена, т.к. она меньше цены закупки.
- Оптимальная цена - это средневзвешенная цена среди всех цен конкурентов, в которой учитывается коэффициент доверия:
- самая низкая цена, получает коэффициент доверия 1
- самая высокая - 2
- все остальные - 3
Фото. Траблы
Здесь рассматриваются типичные проблемы, возникающие при загрузке/обновлении фото в товарах, о которых плагин сообщает в Отчете, в файле admin/uploads/errors.tmp.
Any photo not found.
Any photo not found. Row ~= 2 SKU = LGX135.ACISKW-12 Default photo expected
Плагин не нашел ни одного фото в указанных колонках прайс листа: 6,7,8:

и действительно, фото было в колонке 5

Download main photo fails.
Download main photo fails. Url: http://8bits.com.ua/cat1.jpg Row ~= 2 SKU = LGX135.ACISKW-12
1. Ссылка "битая".
Плагин не может скачать фото по ссылке http://8bits.com.ua/cat1.jpg поскольку ссылка "битая". В этом можно убедиться, если вставить ее в браузер:

2. Ссылка содержит подозрительные символы.
Например, заменитель пробела %20, который нужно заменить на пробел
http://8bits.com.ua/image%20full/cat1.jpg
или наоборот, пробел, который нужно заменить на %20
http://8bits.com.ua/image full/cat1.jpg
Если в ссылке видно два дефиса подряд,
http://8bits.com.ua/image--full/cat1.jpg
то скорее всего, второй дефис - это символ -
Плагин может исправлять ссылки налету. Для этого, нужно ему рассказать, какой символ в ссылке нужно менять, и на какой:
- откройте файл плагина admin/model/catalog/suppler.php
- найдите в нем текст: "заменить в ссылке на фото текст john на Sam"
- вместо john пропишите текст, который меняете, а вместо Sam пропишите текст на какой меняете
- снимите комментарий со строки, в которой делали исправления

Site no answer.
Row ~= 12 url = http://8bits.com.ua/cat1.jpg Site no answer
Самая неприятная ошибка, которая случается при парсинге фото (и не только фото) говорит о том, что сайт защищается от вашего парсинга, подозревая, что вы осуществляете DDOS атаку.
Подозрения вызывает скорость, с которой плагин на вашем сайте запрашивает страницы сайта-донора. Человек не может просматривать 2-3 страницы сайта за 1 секунду. Это вызывает подозрение DDOS атаки.
Сайт-донор может забанить ваш сайт по ip, тогда придется искать другого донора или парсить из файла. Если еще не поздно, включите кнопку:

Photo has not been write.
Row ~= 12 SKU = ACISKW-12 Can not create folder: "dress", create it manually
Не хватает папки для хранения скачанного фото. Папка dress была прописана на вкладке "Категории и наценки", но не была создана.

Плагин попытался ее создать, но ему не хватило прав. Создайте папку image/catalog/example/dress руками.
Please, set folder for photo.
Please, set folder for photo on page 'Category and margin'
Плагин просит создать и прописать на вкладке "Категории и наценки" папку для фото:

это поле обязательное.
Photo not parsed.
Photo not parsed: Row ~= 12 url = -1
Заданы неверные ключевые слова для парсинга фото. В результате, с веб-страницы сайта-донора, плагин спарсил какой-то текст не похожий на ссылку. Исправьте:

Кириллическая ссылка на фото.
И фото не загружается из за кириллических символов.
В файле admin/model/catalog/suppler.php найдите текст:
Убрать комментарий если ссылка кириллическая
Временно уберите комментарий и сохраните файл:
