Форум русской поддержки Joomla!® CMS
08.12.2016, 18:29:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Скрипт экспорта товаров в Яндекс маркет (yml)

 (Прочитано 3646 раз)
0 Пользователей и 1 Гость смотрят эту тему.
gaalferov
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 74


Всё будет хорошо ;)


« : 01.12.2013, 13:07:43 »

Добрый день.
Сегодня вашему вниманию предлагаю скрипт для экспорта товаров в Яндекс маркет.
Первоначально необходимо выполнить настройки в файле .htaccess, а именно прописать, что бы yml файлы обрабатывались как php-ный
Ну и потом в самом Яндекс маркете указать путь на ваш yml файл.

Что скрипт умеет?
  • Файл формируется очень быстро, вывод результата при кол-ве товаров даже более 5000 занимает 3-10 сек.
  • Ничего не надо настраивать, все берется из конфигурационного файла Joomla, кроме itemid в url
  • Если в настройках Joomla включено формирование SEF ссылок, то на выходе получите также красивые урл
  • Скрипт полностью откомментирован, доработки и оптимизация приветствуется

И так по порядку, настройки в файле htaccess:
Показать текстовый блок

Ну и код самого скрипта:
Показать текстовый блок

Пример результата работы можно посмотреть тут (около 800 товаров)

p.s. тестировалось на Joomla 1.5.26 + vm 1.1
1.12.2013 в 13:06
внесены изменения по url примеров (ссылка сейчас на тестовый домен, все согласовано)
убрана надпись с рекомендацией по названию и пути расположения
в ближайшее время изменю запрос и добавлю определение автоматом itemid

* market.zip (3.36 Кб - загружено 180 раз.)
« Последнее редактирование: 27.12.2013, 11:03:14 от gaalferov » Записан
 
fsv
Moderator
*****

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2244


« Ответ #1 : 01.12.2013, 14:58:29 »

/* В $url-е измените Itemid а также flypage на свой  */
Itemid , соответствующий VM, можно получать автоматом. Но это мелочи.
Flypage в разных категориях может быть разный. Просто добавьте в запрос получение поля category_flypage из #_vm_category + его значение -> переменной + эту переменную в $url .

Пример результата работы можно посмотреть ...
Вы согласовали с хозяевами сайтов то, что слили в паблик источник парсинга их товаров?
Если "нет", удалите ссылки и сообщите им, чтобы изменили путь к файлу и его название.
И поэтому
Цитировать
Для этого вам потребуется скопировать сам файл в корень вашего сайта - market.yml
так лучше не делать. Свой путь, свое название файла.
Записан
gaalferov
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 74


Всё будет хорошо ;)


« Ответ #2 : 01.12.2013, 15:10:39 »

Itemid , соответствующий VM, можно получать автоматом. Но это мелочи.
Flypage в разных категориях может быть разный. Просто добавьте в запрос получение поля category_flypage из #_vm_category + его значение -> переменной + эту переменную в $url .
Вы согласовали с хозяевами сайтов то, что слили в паблик источник парсинга их товаров?
Если "нет", удалите ссылки и сообщите им, чтобы изменили путь к файлу и его название.
И поэтомутак лучше не делать. Свой путь, свое название файла.
Учел ваши замечания.
Записан
fsv
Moderator
*****

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2244


« Ответ #3 : 01.12.2013, 15:20:33 »

Учел ваши замечания.
Это были пожелания.

Спасибо за доработку. Тему закрепляю.
Записан
h3moff
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #4 : 12.02.2014, 02:10:24 »

Спасибо автору за работу.
Обнаружился один недочет: цены в VirtueMart указаны в нескольких валютах: RUB, USD, EUR. А при выводе нет пересчета в рубли, хотя валюта RUB подставляется. Как это можно поправить?
Записан
gaalferov
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 74


Всё будет хорошо ;)


« Ответ #5 : 12.02.2014, 11:34:59 »

Спасибо автору за работу.
Обнаружился один недочет: цены в VirtueMart указаны в нескольких валютах: RUB, USD, EUR. А при выводе нет пересчета в рубли, хотя валюта RUB подставляется. Как это можно поправить?
Добрый день, в ближайшее время доработать не смогу, просто нет времени. Но в будущем учту обязательно.
Записан
andrey488
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #6 : 13.10.2015, 11:45:26 »

Здравствуйте не знаю сидит кто тут или нет но вопрос:
Мне этот скрипт нужен для Яндекса маркета
Как вы видите скрипт выволдит цены в рублях
Код:
echo"<currencyId>RUR</currencyId>\n";

То есть в цены он выводит в рублях. но у меня на сайте есть цены как и в рублях так и в $
скажите пожалуйста как сделать так что бы когда она обращался к сайту он выводил и РУБЛИ и $ то есть к примеру:
Код:
<url>http://anetwork.ru/index.php?page=shop.product_details&amp;option=com_virtuemart&amp;flypage=flypage.tpl&amp;product_id=2374</url>
<price>25217.00</price>
<currencyId>RUR</currencyId>
<categoryId>4</categoryId>
<picture>http://anetwork.ru/components/com_virtuemart/shop_image/product/df0f68524ee68087dabeebab15bf1098.jpg</picture>
<delivery>true</delivery>
<name>Funkwerk ELMEG CS 400 XT</name>
<vendor>Funkwerk</vendor>
а некоторые товары вот так:
Код:
<url>http://anetwork.ru/index.php?page=shop.product_details&amp;option=com_virtuemart&amp;flypage=flypage.tpl&amp;product_id=2374</url>
<price>25217.00</price>
<currencyId>USD</currencyId>
<categoryId>4</categoryId>
<picture>http://anetwork.ru/components/com_virtuemart/shop_image/product/df0f68524ee68087dabeebab15bf1098.jpg</picture>
<delivery>true</delivery>
<name>Funkwerk ELMEG CS 400 XT</name>
<vendor>Funkwerk</vendor>
Записан
h3moff
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #7 : 13.10.2015, 13:40:24 »

Здравствуйте не знаю сидит кто тут или нет но вопрос:
Мне этот скрипт нужен для Яндекса маркета
Как вы видите скрипт выволдит цены в рублях
Код:
echo"<currencyId>RUR</currencyId>\n";

То есть в цены он выводит в рублях. но у меня на сайте есть цены как и в рублях так и в $
скажите пожалуйста как сделать так что бы когда она обращался к сайту он выводил и РУБЛИ и $ то есть к примеру:
Код:
<url>http://anetwork.ru/index.php?page=shop.product_details&amp;option=com_virtuemart&amp;flypage=flypage.tpl&amp;product_id=2374</url>
<price>25217.00</price>
<currencyId>RUR</currencyId>
<categoryId>4</categoryId>
<picture>http://anetwork.ru/components/com_virtuemart/shop_image/product/df0f68524ee68087dabeebab15bf1098.jpg</picture>
<delivery>true</delivery>
<name>Funkwerk ELMEG CS 400 XT</name>
<vendor>Funkwerk</vendor>
а некоторые товары вот так:
Код:
<url>http://anetwork.ru/index.php?page=shop.product_details&amp;option=com_virtuemart&amp;flypage=flypage.tpl&amp;product_id=2374</url>
<price>25217.00</price>
<currencyId>USD</currencyId>
<categoryId>4</categoryId>
<picture>http://anetwork.ru/components/com_virtuemart/shop_image/product/df0f68524ee68087dabeebab15bf1098.jpg</picture>
<delivery>true</delivery>
<name>Funkwerk ELMEG CS 400 XT</name>
<vendor>Funkwerk</vendor>


Для какого ВМ?
Записан
andrey488
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #8 : 13.10.2015, 13:56:13 »

h3moff,Всмысле ВМ?
Записан
h3moff
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #9 : 13.10.2015, 14:05:00 »

h3moff,Всмысле ВМ?
ВМ = VirtueMart
Записан
andrey488
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #10 : 13.10.2015, 14:46:06 »

ВМ = VirtueMart
1.1.9
Записан
gaalferov
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 74


Всё будет хорошо ;)


« Ответ #11 : 05.11.2015, 16:19:21 »

Попробуйте заменить вот эту часть

Код
// Валюта в которой указаны Ваши цены
echo"<currencyId>RUR</currencyId>\n";
 

На
Код
// Валюта в которой указаны Ваши цены
echo"<currencyId>$row['product_currency']</currencyId>\n";
 
« Последнее редактирование: 05.11.2015, 16:23:59 от gaalferov » Записан
DimaXP
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 28


« Ответ #12 : 08.06.2016, 15:02:27 »

Попробуйте заменить вот эту часть

Код
// Валюта в которой указаны Ваши цены
echo"<currencyId>RUR</currencyId>\n";
 

На
Код
// Валюта в которой указаны Ваши цены
echo"<currencyId>$row['product_currency']</currencyId>\n";
 




Может быть кому-нибудь пригодится, если после добавления echo"<currencyId>$row['product_currency']</currencyId>\n"; выдает ошибку.

меняем
Показать текстовый блок

на

Показать текстовый блок

после

$manufacturer=transliterate($row['mf_name']);

добавляем
   
$product_currency=$row['product_currency'];


меняем
echo"<currencyId>RUR</currencyId>\n";

на
echo"<currencyId>".$product_currency."</currencyId>\n";
« Последнее редактирование: 09.06.2016, 14:41:13 от DimaXP » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet