есть готовый модуль (или скриптик) для формирования XML файла Yandex Market ?
Пока живого не видел, но думаю его можно сделать самому.
Выложил скрипт, требуется только доработка. Дерзайте =)
<?/*************************************************** Скрипт ya-market.php для выгрузки товаров в формате YML для интернет-магазина на движке osCommerce 2.3* Дата разработки: 25 июня 2011* Разработчик: Володина Нина// Скрипт распространяется по лицензии GNU.// Вы можете использовать скрипт на свой страх и риск. За любые ошибки разработчики отвественности не несут.**************************************************/header('Content-type: application/xml');header("Content-Type: text/xml; charset=utf-8");$kurs=$currency_value[0];define('DB_HOST', 'localhost');//Вписать сервер бдdefine('DB_USER', 'xxx');//Вписать имя пользователяdefine('DB_PASS', 'xxx');//Вписать парольdefine('DB_NAME', 'xxxx');//Вписать имя базы данных$ctt = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());$db = mysql_select_db(DB_NAME) or die("Ошибка базы данных");mysql_query ("SET NAMES 'utf8'");########################## Начинаем генерировать XML# переменные для заголовка$cdate = date("Y-m-d H:i",time());$csite = "http://xxx/";//Вписать адрес интернет-магазина$cname = "xxx";//Вписать название интернет-магазина$csite2 = $csite;$cname2 = $cname;$cdesc = "xxx";//Вписать описание интернет-магазина#----------------------------------------------$yandex=<<<END<?xml version="1.0" encoding="utf-8"?><!DOCTYPE yml_catalog SYSTEM "shops.dtd"><yml_catalog date="$cdate"><shop><name>$cname</name><company>$cdesc</company><url>$csite</url><currencies> <currency id="RUR" rate="1"/></currencies>END;$arr_cats=array();#----------------------------------------------# для Яндекса выводим все подкатегории $yandex .= "\n\n<categories>\n";$tmp=" select c.categories_id as categoryID, cd.categories_name as name, c.parent_id as parent FROM ваш префикс_categories as c, ваш префикс_categories_description as cd where c.categories_id = cd.categories_id AND cd.language_id=1 ORDER BY parent, name";$res = mysql_query($tmp);while ($rezzzz = mysql_fetch_array($res)){ $rezzzz['name']=htmlspecialchars($rezzzz['name']); $fftt = " <category id=\"".$rezzzz['categoryID']."\""; if($rezzzz['parent']>0) $fftt .= " parentId=\"".$rezzzz['parent']."\""; $fftt.= ">".$rezzzz['name']."</category>\n"; $yandex .= $fftt; $arr_cats[$rezzzz['categoryID']]=$rezzzz; } $yandex .= "</categories>\n";#----------------------------------------------$yandex .="\n<offers>\n";#----- YANDEX ------ $tmp=" select p.products_id AS productID, p.products_price AS Price, i.image AS picture, p.products_status AS in_stock, pd.products_id, pd.products_name AS name, pd.products_description AS brief_description, pc.categories_id AS categoryID, pc.products_id FROM ваш префикс_products AS p, ваш префикс_products_description AS pd, ваш префикс_products_images AS i, ваш префикс_products_to_categories AS pc WHERE p.products_price>0 AND pd.products_id=p.products_id AND pc.products_id=p.products_id AND p.products_status=1 AND i.products_id = p.products_id ORDER BY name";$res = mysql_query($tmp);while ($tovar = mysql_fetch_array($res)) { $valuta="RUR";//изменить на нужную валюту $price=$tovar[Price]; $price=intval($price); $description=htmlspecialchars(strip_tags($tovar[brief_description])); $tovar['name'] = htmlspecialchars($tovar['name']); #фотография if ($tovar['picture'] != "") { $src_file = $csite."images/products/large/".$tovar['picture']; $ppy = "<picture>".$src_file."</picture>"; } else { $ppy = ""; }#----------------------------------------------$yandex.=<<<END <offer id="$tovar[productID]" available="true"> <url>{$csite}products.php?$tovar[productID]</url> <price>$price</price> <currencyId>$valuta</currencyId> <categoryId>$tovar[categoryID]</categoryId> $ppy <name>$tovar[name]</name> <description>$description</description> </offer>END;}$yandex .= "</offers>\n</shop>\n</yml_catalog>\n";#выводим, что нагенерилиecho $yandex;#создаем и пишем в файлif( file_exists( "yml.xml" ) ) {chmod("yml.xml", 0755); if( !is_writeable( "yml/yml.xml" ) ) { die( "Нельзя записать в этот файл" ); } }else { if( !touch( "yml/yml.xml" ) ) { die( "Нельзя создать файл" ); } $f = fopen( "yml/yml.xml" , "w+" ); fwrite( $f , $yandex ); fclose( $f ); }?>