Transformer – плагин для BlogBot для импорта баз данных партнерок в формате XML
Хочу представить новый плагин под BlogBot для конвертации баз данных в формате XML от партнерских программ. Проще говоря, с помощью данного плагина можно буквально за 5 минут сделать сайт под определенную партнерку, импортировав ее контент к себе на сайт(ы).
Для импорта базы данных партнерской программы в BlogBot вам потребуется сама база в XML формате (XML файл) и шаблон представления данных, то есть шаблон будущих постов.
Для примера возьмем партнерскую программу Ozon.ru. Данная партнерка предлагает множество разных интересных товаров, которые с успехом можно попробовать продавать на своих сайтах. На самом деле Ozon.ru приведена в качестве примера только из-за ее довольно большой известности в рунете, а также большого выбора товаров, но плагин можно применять и для других партнерских программ, которые отдают контент в XML формате, и не только для русских, а и зарубежных.
В разделе партнеров на Ozon.ru выбираем и скачиваем базу. Рекомендую использовать второй уровень каталога, так как файлы имеют не очень большой размер.
К сожалению, плагин имеет свои ограничения, так как все случаи реализации XML предусмотреть не возможно.
Во-первых, XML должен быть не больше 3-х уровней вложенности, то есть такого типа:
<main_tag>
<items>
<item />
<item />
</items>
</main_tag>
Во-вторых, вся база должна состоять из одного файла.
В-третьих, узел с данными должен полностью содержать информацию о товаре.
Чтобы пояснить трете условие опять вернемся к партнерской программе Ozon.ru. Ее XML соответствует требованиям «Яндекс.Маркета» (стандарт YML), поэтому в XML сначала перечисляются категории, а в узлах с информацией присутствуют только идентификаторы категорий. Например:
Категории:
<categories>
<category>Бизнес-книги</category>
<category id="1091050" parentId="8112">Суперкомплекты бизнес-литературы</category>
</categories
Узел с информацией:
<offer id="83463" available="true">
<url>http://www.ozon.ru/context/detail/id/83463/?from=partner</url>
<price>34.3</price>
<currencyId>RUR</currencyId>
<categoryId>1070671</categoryId>
<picture>http://www.ozon.ru/multimedia/books_covers/sd145_04.jpg</picture>
<delivery>true</delivery>
<orderingTime>
<ordering>На складе</ordering>
</orderingTime>
<author>Б. А. Чижов, Е. М. Шомов</author>
<name>Порядок расчета среднего заработка в 1999 году</name>
<publisher>Главбух</publisher>
<series>Библиотека журнала "Главбух"</series>
<year>1999</year>
<ISBN>5-88759-058-X</ISBN>
<binding>84x104/32</binding>
<page_extent>144</page_extent>
<table_of_contents>Порядок расчета среднего заработка в 1999 году</table_of_contents>
<description>Авторы книги - Борис Алексеевич Чижов и Евгений Михайлович Шомов - специалисты Минтруда России, авторы многих публикаций и книг. </description>
</offer>
В этом случае нам нужно немного обработать XML прежде, чем мы сможем его импортировать в BlogBot. Операция довольна проста – заменяем везде идентификаторы категорий <categoryId> на их текстовые значения, а затем удаляем описание категорий, а также все лишние узлы, которые не несут смысловую нагрузку.
В ручную заменять категории довольно долго и нудно, поэтому вы можете скачать php-скрипт OzonXMLRepair.php, который самостоятельно делает замену.
Также не забудьте заменить в партнерских ссылках , например: http://www.ozon.ru/context/detail/id/3037277/?from=partner, слово partner на ваш партнерский идентификатор.
После обработки файла его можно импортировать в BlogBot. В случае, если файл слишком большой и не проходит в BlogBot, то его следует разбить на два или больше кусков и импортировать по отдельности.
Теперь давайте рассмотрим создание шаблона на примере. Допустим у нас есть XML:
<offer id="83419" available="true">
<url>URL</url>
<price>PRICE</price>
<publisher>PUBLISHER</ publisher >
<name>NAME</name>
<year>YEAR</year>
<description>DESCRIPTION</description>
</offer>
В шаблоне используется свой собственный синтаксис. Переменные обрамляются двойными фигурными скобками, например: {{var}}. В качестве переменных в XML выступают теги, а также их атрибуты.
Возможный HTML:
<p>
Артикл товара: {{@id}}<br />
{{publisher: Издательство: %s}}<br />
{{year: Год: %s}}<br />
{{author: Авторы: %s}}
<br />
{{price: <strong>Цена: %sр.</strong>}}
</p>
<br />
<p>{{description}}</p>
В данном примере мы использовали переменные publisher, year, author, price, description и @id. Обратите внимание, что если вы используете атрибут тега в качестве переменной, то нужно перед названием тега ставить символ @.
Конструкция {{year: Год: %s}} означает условный оператор «Если» и читается это как «если существует переменная year и она не пустая, то выводим сообщение после запятой, иначе ничего не выводим».
Такая конструкция позволяет использовать больше одной переменной, например:
{{var1, var2, ?var3: Текст - %s, Html - %h, ссылка - %o}},
где:
- %s – обычный текст,
- %h – если необходимо вывести HTML с сущностями, например, если выводите текст с двойными кавычками в атрибутах
- %o – вывод ссылки
- ? – переменная с вопросительным знаком не проверяется на существование и пустоту.
После создания шаблона его можно оценить, нажав кнопку «Превью» на странице формирования шаблона. Если вас устраивает внешний вид поста, то можете вводить остальные параметры и переходить к «Преобразованию». В случае успешного импорта, плагин сообщит количество импортированных постов.
<br />, тем самым некрасиво растягивая посты.
Если вы будете импортировать базу в раздел «Контент», то дальше сможете работать с контентом как обычно вы это делаете.
В результате работы с партнеркой Ozon.ru получился такой сайт http://business-hdbk.blogspot.com/ на платформе blogger.com.
А теперь немного видео по данному плагину:
Popularity: 11%
как правильно представиться новому коллективу
