Как добавить интернет магазин на MODx в каталог Яндекс Маркета за 10 минут

Основная статья: Yandex Market - добавляем свой магазин в каталог Яндекса.

Заказать изготовление YML файла

В одной из наших предыдущих статей подробно описывалось как написать скрипт для создания yml файла практически для любого типа магазинов. В данной статье мы подробно рассмотрим создание YML-файла для магазинов, построенных на CMS MODx. Вы могли бы воспользоваться и исходным кодом yml-генератора из предыдущей статьи, но зачем тратить лишнее время, когда под рукой имеются удобные возможности MODx.

Для упрощения работы мы воспользуемся сниппетом Ditto, входящим в любой базовый пакет MODx (описание Ditto). В данной статье мы не будем возвращаться к описанию формата YML, подробнее о котором рассказывалось в предыдущей статье, а сразу перейдем к созданию файла.

Создаем новый документ в дереве MODx с пустым шаблоном ( blank ) и типом text/xml с именем YML.

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="[*editedon:date=`%Y-%m-%d %H:%M`*]">
<shop>
<name>Название магазина</name>
<company>Название компании</company>
<url>[(site_url)]</url>
<currencies>
<currency id="RUR" rate="1"/>
</currencies>
<categories>
[!Ditto? &id=`category` &parents=`Id документа каталога` &depth=`0` &display=`all` &filter=`isfolder,1,1` &tpl=`yml_cat_tpl`!]
</categories>
<offers>
[!Ditto? &id=`yml` &parents=`Id документа каталога` &depth=`0` &display=`all` &tpl=`yml_tpl` &paginate=`0` &showPublishedOnly=`1` &hidefolder=`1`!]
</offers>
</shop>
</yml_catalog>

Не стоит забывать про параметр depth, который отвечает за глубину дерева каталога продукции. Для документов с продукцией магазина необходимо создать следующие TV параметры:

price - текстовое поле (цена товара), vendorcode - текстовое поле (название произодителя), yml-image - текстовое поле ( путь к изображению )

Создаем Чанк для Ditto с названием yml_tpl - чанк представления отдельного товара в YML файле.

<offer id="[+id+]" available="true">
<url>[(site_url)][~[+id+]~]</url>
<price>[+price+]</price>
<currencyId>RUR</currencyId>
<categoryId>[+parent+]</categoryId>
<picture>[+tvyml-image:ifnotempty=`[(site_url)][+yml-image+]`+]</picture>
<delivery>true</delivery>
<name>[+pagetitle:notags+]</name>
<vendorCode>[+vendorcode+]</vendorCode>
<description>
[+introtext:notags+]
</description>
</offer>

И создаем чанк yml_cat_tpl для отображения отдельной категории товаров в yml файле.

<category id="[+id+]"> [+pagetitle+] </category>

И последнее, что нам нужно сделать - это создать php файл для вывода yml файла. Создаем на сервере файл yml.php со следующий исходным кодом:

<?php
header("Content-type: text/xml");
$content=file_get_contents("http://ваш_сайт.ru/index.php?id=DOCID");
print iconv("UTF-8","Windows-1251", $contents);
?>

Необходимо не забыть заменить DOCID на ID документа с именем YML в дереве MODx.

Все, за 10 минут мы создали динамически изменяющийся вместе с каталогом товаров Вашего магазина Yml файл, готовый к добавлению в Яндекс Маркет. Данный подход не претендует на роль идеального и меет множество недоработок, к примеру, таких как отсутствие нескольких валют и отсутствие возможности включения в yml каталог не всех товаров, а лишь их части. Но при необходимости все эти мелочи можно устранить всего за несколько минут.

 

http://h88.ru/modx/dokumentaciya/yml-dlya-sajta-na-cms-moxd-v-yunikode.html

Копирование данного материала на другие сайты строго запрещено авторскими правами и преследуется по закону.

Материал подготовлен компанией NoxIT

 

Список статей

 

 

Copyright © 2010-2012 NoxIT.ru. Все права защищены
Карта сайта: SiteMap