XML каталог товаров Virtuemart

Скрипт создает xml файл.
Этот скрипт нужен для регистрации магазина на разных торговых площадках.
В частности я его создавал для Яндекс.Маркета, но так же он подойдет для price.ru, torg.mail.ru и многих других.
Добрый час. Написал скрипт, который заинтересует пользователей virtuemart 1.1.x.
Скрипт создает xml файл.

Этот файл нужен для регистрации магазина на разных торговых площадках. В частности я его создавал для Яндекс.Маркета, но так же он подойдет для price.ru, torg.mail.ru и многих других.

Теперь некоторые подробности:
Мы в этот файл экспортируем url товара, и поэтому я подготовил три вида адреса товара:

  1. Если у Вас стандартные ссылки, т.е. SEF (ЧПУ) не работает вообще:
  2. Если у Вас работает штатный SEF.
  3. И если у Вас работает ARTIO JoomSEF.
Не много инструкции:
  1. Вы скачали нужный заархивированный скрипт.
  2. После разархивирования у Вас будет каталог pagexml.
  3. Кидайте его в корень сайта.
  4. Для создания самого xml файла, надо обратиться по адресу: http://vash-site.ru/pagexml/
    Но скрипт защищен. Смысл защиты в том, чтобы ни кто напрямую обратившись по адресу не создавал xml-файла, а только лишь перейдя по ссылке из административной части сайта. Я эту ссылку поставил в админке virtuemart над главным меню виртуемарта. Делается это в файле:
    administrator/components/com_virtuemart/header.php

    Я вставил вот эти строки:
    <strong><a target="_blank" href="http://pagex.ru/pagexml/">Обновить товары в Яндекс.Маркете</a></strong> <br /> <br />

    Перед:

    <div id="vmMenu">

    При переходе на эту ссылку создастся xml-файл с данными всех товаров у которых цена не равна 0.
    Если Вам не нужна эта проверка и Вы хотите обновлять xml-файл посредством прямого обращения через адресную строку браузера, то удалите строки 2-7 включительно:

    $url_poisk = "http://".$_SERVER['HTTP_HOST']."/administrator/index2.php";
    if (strstr($_SERVER['HTTP_REFERER'], $url_poisk) == false )
    {
    echo "У Вас нет доступа. Выполните это действие через админку сайта!";
    die;
    }
  5. Не забудьте поменять данные в тегах:
    <name>, <company>, <url>
Скачать скрипт Вы его можете вот отсюда:
  1. Ссылки с Artio Joom SEF
  2. Ссылки без SEF:
  3. Ссылка со стандартным SEF:
Если будут вопросы по работе скрипта, пишите в комментариях.

Что бы товары у которых есть цена, но они скрыты не попадали в xml-файл, добавьте в файле

pagexml/index.php
после 53 строки, которая содержит:
WHERE jos_vm_product_category_xref.product_id=jos_vm_product.product_id
Вот это:
AND product_publish='Y'

Xml для Joomla 1.5. С Artio Joom SEF, вполне возможно может не работать. Пишите в комментах, будем решать.

  1. Ссылки с Artio Joom SEF
  2. Ссылки без SEF:

Для версии Virtuemart 1.0.15:
Для версии 1.0.15 с Artio Joom SEF: pagexml.rar
Для версии 1.0.15 со стандартным SEF: 1.5_standart_url.rar

12 December 2010