Приватный проект для SorokinaN - Модуль ShopCMS
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Модуль – Парсер. ShopCMS
(Сайт forum3.ru , в дальнейшем используется "донор")
В котором можно будет выбрать определенные категории (из существующих в базе) и выполнить над ними какие-то действия (список можно сделать как например в модуле "Яндекс.Маркет" в виде ....):
- обновить цены товаров (организовать можно через парсинг цен или через разбор xls прайс-файла по артикулам – ваш выбор) и отключать товар если такого товара нет в наличии на сайте доноре ( "если товара нет - на сайте доноре.jpeg" файл во вложении – пример отсутствующего товара);
- добавить новые товары, если таковые появились на сайте доноре, которых нету в нашем магазине (сверять только по выбранным категориям).
На доноре периодически бывают профилактические работы и он доступен, только вместо описаний товаров отображаются ошибки, поэтому нужно будет это обрабатывать и случайно не позаполнять пустоту в базу.
Обновление цен и отключение товаров в нашем магазине:
- в случае отключения: отключаем наличие товара как показано на скрине ("если товара нет - как это должно выглядеть в админке.jpeg" файл во вложении ), сюда нужно включить и удаление если его вообще нет в списках на доноре.
- обновляем цены ориентируясь по артикулу – коду товара.
Добавление товаров, работа с описанием:
Все поля рассмотрим на примере товара http://forum3.ru/descr.aspx?code=20030 :
- наименование – "Sven 250 (6Wt) silver (пластик)"
- артикул (он же Код товара на сайте доноре) – 20030
- цена – 286 (берется первая цена в таблице слева без копеек, на одном из скринов есть пометка)
- 2 метатега (META Description и META Keywords) – "Sven 250 (6Wt) silver (пластик)" (в оба поля без кавычек естественно).
- 1 фотка в 3 размерах. Бывают случаи, когда изображения нет, но цмс сайта донора подставляет вместо несуществующей фотки фотку с контактами сайта (она всегда одного размера, нужно будет определять если это та фотка (возможно эту цифру указывать опционально, где-нибудь в конфиге conf.php например) – http://forum3.ru/descr.aspx?code=20030 (видно что фотка какая-то битая, такая тоже сойдет – качаем ее в таком размере) и http://forum3.ru/pick_image.aspx?&width=500&height=500&code=20030 (видно что этой фотки почему-то нет, ее либо не качаем, либо удаляем после закачки) Маленькую (120х120) нужно получать путем ресайза с большей, в случае наличия таковой.
- Фотки должны быть видны собственно в самих категориях и товарах (ложить по своим папкам).
- Размеры для ресайза приведены как пример, их необходимо брать из конфигов ShopCMS.
- ПОДРОБНОЕ ОПИСАНИЕ думаю в комментариях не нуждается – есть на скринах. Брать нужно по регекспу – – программист поймет.
- КОРОТКОЕ ОПИСАНИЕ должно парситься по одному из трех вариантов (есть приоритеты, в приложении есть скрины, на которых также все довольно ясно изложено):
1. Если есть текст над словом Характеристики (например на странице http://forum3.ru/descr.aspx?code=20030 есть такой), то необходимо брать его, НО исключая текст, если в нем имеется URL (на сайт производителя или на какое-то описание). Т.е. прийдется с начала проверить есть ли в этой части текста URL, и если есть, то не брать его за короткое описание.
2. Если текст описанный в пункте 1 не принят – нужно проверить наличие в блоке с Характеристиками записи ОБЗОР (тут пример его наличия http://forum3.ru/descr.aspx?code=65623), сответственно ОБЗОР является вторым по приоритету для принятия его в качестве короткого описания.
3. Последний по приоритету является запись "ВОЗМОЖНОСТИ ОСОБЕННОСТИ ПРЕИМУЩЕСТВА" (здесь пример http://forum3.ru/descr.aspx?code=60935).
При изьятии краткого описания – тэги резать не нужно. Оформление не трогаем.
В полях Производителя нужно заменять логотип фирмы на текстовое его название, например здесь – http://forum3.ru/descr.aspx?code=30193 , должен в Производителе быть текст "Creative". Его можно вытащить отсюда же (в редакторе исходного кода можно увидеть следующее:
Т.е. из alt свойства можно смело вытащить название этого бренда. На скринах есть пример изьятия имени бренда.
-----
Все это нужно в виде модуля, чтобы положить в папку с ShopCMS и увидеть в списке модулей этот парсер.