Перейти к содержимому


Правила форума

Внимание!!! Если не можете скачать, пожалуйста ознакомьтесь с условиями получения доступа с файлам форума. Правила форума


Яндекс.Маркет (online) - генерация yandex.xml по каждому запросу заново


Сообщений в теме: 37

#1 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 22 апреля 2013 - 14:29

Модуль Яндекс.Маркет (online) предназначен для генерации yandex.xml именно в момент запроса этого файла. Т.е. является альтернативой штатному модулю, генерирующему yandex.xml по нажатию кнопки и затем отдающему сгенерированный файл пока кнопка не нажата еще раз. Другими словами, штатный модуль требует постоянно-периодического "нажатия кнопки", если товарная номенклатура и цены меняются, а этот на каждый запрос генерирует актуальный на текущий момент yandex.xml.

Спонсор модуля: kredit24

Админка выглядит похоже на штатную, только настройки сохраняются в SQL, а не в $_SESSION

Прикрепленный файл  1.JPG   99,14К   187 Количество загрузок:

Установка:
----------
1. в файл .htaccess вписываем строку

RewriteRule ^yandex\.xml$ yandex.php [L]

Это нужно для того, чтобы в настройках Яндекс-Маркета написать ссылку mysite.ru/yandex.xml, а не mysite.ru/yandex.php
По сути, для красоты, т.к. Яндексу совершенно все равно :).

2. копируем файлы

modules_yaondemand.php -> core/includes/admin/sub/
modules_yaondemand.tpl.html -> core/tpl/admin/
yandex.php -> корень сайта

3. в файле default.tpl.html перед строкой

<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&amp;sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></div>

вставляем

<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&amp;sub=yaondemand">Яндекс.Маркет (online)</a></div>


4. в файле core/tpl/admin/menu.tpl.html перед строкой

<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&amp;sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></td></tr></table>

вставляем

<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&amp;sub=yaondemand">Яндекс.Маркет (online)</a></td></tr></table>


5. в файле core/includes/admin/modules.php перед строкой

array("id"=>"yandex", "name"=>"Яндекс.Маркет" )


вставляем

array("id"=>"yaondemand", "name"=>"Яндекс.Маркет (online)"),



6. при желании исправляем в core/languages/russian.php 'Не экспорировать описания' на 'Не экспортировать описания'

------------------

После всего этого в админке в разделе "Модули" появится новый модуль "Яндекс.Маркет (online)". Там задаются те же настройки, что и в штатном модуле "Яндекс Маркет", но для этого модуля.
Доступ к этому модулю тот же, что и у штатного модуля "Яндекс-Маркет",я не стал делать отдельный (это для тех, у кого кроме админов с полным доступом и клиентов есть еще пользователи с разными уровнями доступа в админке).

Прикрепленные файлы


http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 r-instrument

    Пользователь

  • Assistent vsupport.ru
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий
  • ГородКрасноярск

Отправлено 06 июня 2013 - 14:48

admin.php?dpt=modules&sub=yaondemand
admin.php?dpt=modules&sub=yandex

теперь белый экран(((
что не так?

#3 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 06 июня 2013 - 15:08

Чаще всего причиной такого "нетака" является либо синтаксическая ошибка в php-файле, либо неудаление файлов кэша после внесения изменений. Попробуйте удалить все файлы из каталога core/cache/, ну а про ошибку написано в логах, если у Вас к ним есть доступ.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 BlackSH

    Пользователь

  • Assistent vsupport.ru
  • PipPip
  • 24 сообщений
Репутация: 0
Начинающий

Отправлено 18 апреля 2014 - 15:10

Всем привет!

Установил Яндекс-онлайн, в яндексе указываю путь к yandex.php он сообщает об ошибке:
http://12voltchelny.ru/yandex.php
Определена кодировка: windows-1251 (строка 0, столбец 0)
Дата из файла: 2014-04-18 16:51 (строка 3, столбец 46)
Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Empty content not valid for content model: '(offer)+' (строка 173, столбец 26)


А если со стандартного модуля прописать путь то:

http://12voltchelny....x.php?do=yandex

Определена кодировка: windows-1251 (строка 0, столбец 0)
Дата из файла: 2014-04-18 11:38 (строка 3, столбец 54)
Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Invalid character (Unicode: 0x8) (строка 3065, столбец 59)

Подскажите пожалуйста новичку как решить?

#5 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 18 апреля 2014 - 16:42

Просмотр сообщенияBlackSH сказал:

Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Empty content not valid for content model: '(offer)+' (строка 173, столбец 26)
Отсутствие контента в <offers>. Думаю, что Вы не задали в админке, какие категории надо выводить (см. скриншот в шапке темы).

Просмотр сообщенияBlackSH сказал:

Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Invalid character (Unicode: 0x8) (строка 3065, столбец 59)
Некорректный символ с кодом 0x8 в названии товара.

PS. может, Вы не курсе, что существует translate.google.ru? Ведь черным по белому написано, в чем дело. Ажно с указанием строки и столбца, где что-то не так.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 valeradr

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 02 мая 2014 - 07:49

В данном фильтре формируется файл yandex.xml, а для яндекс маркета нужен файл в формате .yml, что нужно подправить что бы файл был в формате подходящем для яндекс маркета?

#7 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 02 мая 2014 - 12:12

Просмотр сообщенияvaleradr сказал:

В данном фильтре формируется файл yandex.xml, а для яндекс маркета нужен файл в формате .yml
Вы путаете формат файла (YML) и расширение файла (XML).
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#8 valeradr

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 03 мая 2014 - 11:38

Данный модуль формирует файл www.site.ru/yandex.xml, яндекс маркет его не может загрузить. Как можно перевести его в формат файла (YML)?

#9 Dbus

    Продвинутый пользователь

  • VIP
  • 1 106 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 03 мая 2014 - 11:41

Просмотр сообщенияvaleradr сказал:

Данный модуль формирует файл www.site.ru/yandex.xml, яндекс маркет его не может загрузить.
site.ru - тебе принадлежащий сайт?

Просмотр сообщенияvaleradr сказал:

Как можно перевести его в формат файла (YML)?
А сейчас он по-твоему в каком формате?
502 Bad Gateway

#10 valeradr

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 03 мая 2014 - 11:58

Да дело не в названии сайта, ежу понятно кому он принадлежит. Вопрос в том что этот модуль формирует файл yandex.xml, яндекс его не воспринимает для загрузки в Яндекс.Маркет! Пишет что файл должен быть в формате yandex.yml

#11 Dbus

    Продвинутый пользователь

  • VIP
  • 1 106 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 03 мая 2014 - 12:03

Советую ежу разобраться в терминах "формат" и "расширение" файла, как писали выше.
А ошибка в загрузке скорее всего по другой причине.
502 Bad Gateway

#12 fastik

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 04 мая 2014 - 16:44

Возник вопрос, сам что-то не разобрался. стоит модуль с сайта http://shopkod.ru/index.php?page=development&id=89 Что-то на форуме не нашел, могу выложить. Так вот кто знает, как они совмещаются?

#13 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 04 мая 2014 - 17:03

Просмотр сообщенияfastik сказал:

Возник вопрос, сам что-то не разобрался. стоит модуль с сайта http://www.shopkod.r....elopment&id=89
Точку из ссылки уберите, иначе ссылка неверна.

Цитата

Что-то на форуме не нашел, могу выложить.
Понимаю, что этот модуль был написан изначально "под кого-то" (т.е. смысл есть), но напрочь не понимаю - зачем? Зачем бить свои товары на несколько YML-файлов? Если потому, что их уже ОЧЕНЬ много, то надо не костыль ставить (весьма не единственный), а переезжать на другую платформу.

Цитата

Так вот кто знает, как они совмещаются?
Кто "они" и что значит "совмещаются"? Если имеется в виду мой модуль Яндекс-онлайн, то он не пересекается по файлам с модулем namer-а. Он подменяет штатные модули, а в моем модуле файлы со другими именами.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#14 fastik

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 04 мая 2014 - 18:07

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

#15 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 04 мая 2014 - 18:08

Просмотр сообщенияfastik сказал:

а как можно проверить его работоспособность?
Кого "его"?
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#16 fastik

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 04 мая 2014 - 18:13

модуля) все разобрался) Права на файл yandex.php, который кидается в корень должны быть 777?

#17 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 04 мая 2014 - 19:19

Просмотр сообщенияfastik сказал:

Права на файл yandex.php, который кидается в корень должны быть 777
Если Вы собираетесь в него что-либо записывать, то да.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#18 valeradr

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 12 мая 2014 - 14:30

Как добавить тег минимальная сумма заказа <sales_notes>?
В яндексе сказано что надо его добавить после <description>


<description> </description>
<sales_notes>минимальная сумма заказа 500 руб.</sales_notes>

#19 badisoft

    Продвинутый пользователь

  • VIP
  • 4 986 сообщений
Репутация: 761
Мастер

Отправлено 12 мая 2014 - 14:58

Просмотр сообщенияvaleradr сказал:

Как добавить тег минимальная сумма заказа ?
Вариант 1, простой: Тупо заменить в yandex.php вхождение </description> на </description>\n<sales_notes>бла-бла-бла</sales_notes>
Вариант 2, более универсальный: Изучить http://vsupport.ru/t...exxml-replacer/, сделанный для штатного модуля Яндекс.Маркет и сделать так же с этим модулем.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#20 valeradr

    Продвинутый пользователь

  • Assistent vsupport.ru
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 12 мая 2014 - 15:00

Спасибо