ScriptLife » DataLife Engine » Модули / Плагины DLE » Импорт новостей в формат YML средствами движка DLE

Импорт новостей в формат YML средствами движка DLE

25 окт 2022, 19:21
Добавил: ScriptLife
23
0
Данный материал предоставлен сайтом ScriptLife.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
  • Описание
    • Версия DLE: 14.x - 15.x
    • Автор: tcse

Выбрав в 2006 году DLE в качестве платформы для разработки сайтов все еще не пожалел. В том числе из-за шикарного шаблонизатора, благодаря которому с минимальными знаниями основ программирования любой начинающий вебмастер может адаптировать под себя внешний вид своего проекта. В данной статье будут описаны принципы создания шаблона в формате XML для дальнейшей самостоятельной модификации. Стоит обратить внимание, что у каждого сайта свой набор полей, их можно и нужно прописывать в шаблоны самостоятельно. Я лишь показываю, что штатными средствами движка DLE можно генерировать XML файлы которые будут корректно обработаны при импорте на внешние сайты.

Стандартный RSS поток DLE формируется на основе шаблона tempates/rss.tpl и содержит в себе отдельные секции вывода информации в зависимости от настроек шаблона:

  • Обычный RSS поток
  • В формате Яндекс-Турбо
  • В формате Яндекс Новости

Все три этих варианта объединены единой оберткой описанной в файле engine/rss.php:

<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
<channel>
....
</channel>
</rss>


И именно в этом проблема, почему нельзя получить правильный YML формат для товарного фида Яндекс Маркета. Тоже самое для автоматического импорта новостей для Avito.

Но все как оказалось решается штатными средствами движка - мы просто создаем новый шаблон для определенной категории сайта и именно его адрес в качестве ссылки на YML отдаем Яндексу.

Готовые шаблоны импорта в формате YML и в формате XML для Avito можно скачать в конце этой статьи.

Что такое YML (Yandex Market Language) формат и зачем он нужен сайту.
О формате YML вы можете прочитать тут. Стандарт YML разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV. Типовой пример в формате .yml

Нам данный формат интересен для создания Яндекс Турбо страниц интернет-магазинов. Заходим в свой кабинет на Яндекс Вебмастере и ищем раздел «Турбо-страницы для интернет-магазинов».

Общая инструкция по подключению от Яндекса находится тут.

Главное, без чего не будет произведен импорт - это цена товара. Если ваш сайт на DLE используется в том числе для создания витрины товаров, то отдельное дополнительное поле с ценой у вас скорее всего уже есть.

И так, примеры шаблонов скачены и установлены на сайт. Остается добавить (при необходимости) нужные дополнительные поля. Для этого переходим Настройки скрипта > Дополнительные поля новостей

 Либо по FTP открыть engine/data/xfields.txt и дописать в самый конец:

xml2tpl_io-yml|Включить вывод в формат YML||yesorno||0|0|0|0|||0|0|||||0|Если выключено - Данная новость не попадает в товарный фид||||||||
xml2tpl_io-avito|Включить вывод в формат Avito.ru||yesorno||0|0|0|0|||0|0|||||0|Если выключено - Данная новость не попадает в товарный фид||||||||
xml2tpl_price|Цена для xml2tpl||text||1|0|0|1|||0|0||||||Используется для импорта в форматы YML и Avito||||||||
xml2tpl_currencyid|Валюта, в которой указана цена товара для xml2tpl||select|RUR__NEWL__USD__NEWL__EUR__NEWL__BYN__NEWL__KZT__NEWL__UAH|0|0|0|0|||0|0||||||Цена и валюта должны соответствовать друг другу. Например, вместе с USD надо указывать цену в долларах, а не в рублях.||||||||
xml2tpl_vendor|Название производителя  для xml2tpl||text||1|0|0|1|||0|0||||||||||||||
xml2tpl_vendorcode|Код товара, который ему присвоил производитель  для xml2tpl||text||1|0|0|1|||0|0||||||||||||||


После чего при редактировании новостей появятся новые поля для корректного заполнения товарного фида.

Следующим шагом вам потребуется создать новую категорию сайта и в ее настройках выбрать в секции Установить другой шаблон для категории: шаблон с именем xml2yml для товарного фида YML.

Или шаблон с именем xml2avitoru для импорта объявлений на Avito.

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

Далее получаем ссылки на категории сайтов внутри которых у нас формируются новости. Для демонстрации работы я сделал 2 таких категории https://tcse-cms.com/archive/xml2yml/ для формата YML.

И https://tcse-cms.com/archive/xml2avitoru/ для Avito.

Переходим в Яндекс Вебмастер и добавляем ссылку на источник.

Тестируем правильность фида.

Там же можно посмотреть предварительную версию.
Примерно так же все происходит и с форматом импорта на Avito.ru. Сам фид можно протестировать на соответствие перейдя по этой ссылке.
Стоит обратить внимание, что у каждого сайта свой набор полей, их можно и нужно прописывать в шаблоны самостоятельно. Я лишь показал, что штатными средствами движка DLE можно генерировать XML файлы которые будут корректно обработаны при импорте на внешние сайты.


Поддержать сайт!

Все собранные средства пойдут на развитие сайта.

Ctrl
Enter
Заметили ошЫбку?
Выделите текст и нажмите Ctrl+Enter
Мы в

Комментарии

Минимальная длина комментария - 50 знаков. комментарии модерируются
  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
Комментариев еще нет. Вы можете стать первым!

Политика конфиденциальности

Сайт использует идентификационные файлы cookies для хранения информации. «Cookies» представляют собой файлы, которые могут использоваться сайтом для идентификации посетителей... Больше информации