Ответить Новая тема Новый опрос 
Всего: 13 < 1 2 3 4 5 6 > »
 [МОДУЛЬ] Яндекс.Маркет
goldsnake
Новичок
Сообщений: 30
Регистрация: 04-02-2010


09-02-2010 21:20
ямаркет не использую, но все равно спасибо большое автору
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Baltazar


Новичок
Сообщений: 60
Регистрация: 22-10-2009


23-02-2010 22:01
Цитата:( антон @ 08-01-2010 00:19 Смотреть сообщение )
Вот набросал скрипт для маркета. Предупреждаю сразу, вполне возможны недоработки и недочеты (зато бесплатно :)). xml файл, сформированный скриптом, сравнивал с уже рабочим. В яндекс еще не закидывал, т.к. магазин еще тестится. Если  кто проверит, буду очень признателен.

Все примечания в файле php. (Нужно поменять url на свои) Аттачи ym.php( Размер файла: 3.6KB )
 

Файл закидываем в корень сайта и открываем url/ym.php , затем сохраняем в xml исходный код и закидываем в нужную вам директорию, затем скармливаем яндексу.

Мои настройки:
Валюта - рубли.
Без подкатегорий.
Товары с нулевым остатком не выводятся.


Спасибище, работает все отлично, кроме определения категории каждого товара, возможно есть ошибка:

Код:
<categoryId>'.implode($kategorie).'</categoryId>


Так как отображается только закрывающий тег.

Что должно на самомом деле стоять в тегах categoryId ?


Сообщение отредактировано Baltazar 23-02-2010 17:02 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
mazichka
Новичок
Сообщений: 13
Регистрация: 15-12-2009


24-02-2010 18:52
Я заменила на

Код:
<categoryId>'.$row['id_category_default'].'</categoryId>


Работает.

И еще вот

Код:
while ($row = mysql_fetch_assoc($res))
{
    if ($row['level_depth'] == 1)
    {
    $categories[$row['id_category']] = $row['id_category'];
    $katname[$row['id_category']] = $row['name'];
    echo '
    <category id="'.$categories[$row['id_category']].'">'.preg_replace('/^[0-9]+\./','',$katname[$row['id_category']]) .' </category>
    ';
    }
    else
    {
    $categories[$row['id_category']] = $row['id_category'];
    $katname[$row['id_category']] = $row['name'];
    
    echo '
    <category id="'.$categories[$row['id_category']].'" parentId="'.$row['id_parent'].'">'.preg_replace('/^[0-9]+\./','',$katname[$row['id_category']]) .'</category>
    ';
    }
    

}


Получился правда бардак, но Маркет скушал :crazy:
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
newtc


Cпециалист
Сообщений: 220
Откуда: Новосибирск
Регистрация: 20-11-2009


26-02-2010 03:00
Цитата:( mazichka @ 24-02-2010 17:52 Смотреть сообщение )
Я заменила на

Код:
<categoryId>'.$row['id_category_default'].'</categoryId>


Работает.

И еще вот

Код:
while ($row = mysql_fetch_assoc($res))
{
    if ($row['level_depth'] == 1)
    {
    $categories[$row['id_category']] = $row['id_category'];
    $katname[$row['id_category']] = $row['name'];
    echo '
    <category id="'.$categories[$row['id_category']].'">'.preg_replace('/^[0-9]+\./','',$katname[$row['id_category']]) .' </category>
    ';
    }
    else
    {
    $categories[$row['id_category']] = $row['id_category'];
    $katname[$row['id_category']] = $row['name'];
    
    echo '
    <category id="'.$categories[$row['id_category']].'" parentId="'.$row['id_parent'].'">'.preg_replace('/^[0-9]+\./','',$katname[$row['id_category']]) .'</category>
    ';
    }
    

}


Получился правда бардак, но Маркет скушал  :crazy:

Ура супер :jump: выгрузил :)
Только 100 товаров за банил (что то с ценой )
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
mazichka
Новичок
Сообщений: 13
Регистрация: 15-12-2009


26-02-2010 19:48
чувствую, что есть там еще пара-тройка лишних строк, но трогать не хочется - и так работает :wink2:
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Baltazar


Новичок
Сообщений: 60
Регистрация: 22-10-2009


26-02-2010 21:53
о маладцы !)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Глюкъ
Новичок
Сообщений: 20
Регистрация: 15-03-2010


29-03-2010 14:54
Пришлось кое-что поправить в итоговом xml. В php очень слабо разбираюсь, может подскажете?
1. Яндекс ругается на дефисы, разделяющие офферы. Убираешь их и все нормально.
2. Все офферы в итоговом файле принадлежат одному category_id — "1". У меня такого id нет вообще. Расставляю любые существующие на самом деле id — Яндекс больше не ругается.
Как бы это исправить в ym.php?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Baltazar


Новичок
Сообщений: 60
Регистрация: 22-10-2009


31-03-2010 06:00
Все очень просто и до боли геморойно.

Категория с id 1 - это основная, главная категория в которой уже и создаются все остальные. Каждому товару присваивается категория по умолчанию, кроме его основной категории. (Посмотри выше дерева категорий в любом товаре есть это присовение).
И если товар создавался с главной страницы каталога, а не после захода в конкретную, созданную категорию, по умолчанию присваивается корневая категория - тобишь 1.

Поэтому каждому товару по умолчанию нужно присвоить его родную категорию.

Я вижу выход править это все дело через базу.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
vadim
Новичок
Сообщений: 69
Откуда: Москва
Регистрация: 11-11-2009


12-04-2010 23:51
Отлично! Вроде всё работает. Яндекс принял мой прайс. Правда не с первого раза. Оказалось у меня 350 товаров с ценой 0 рублей. А это слишком много для него и отказался. Пришлось вручную выделить все эти товары и удалить из xml файла. После этого всё засосал.
Вопрос к разработчику скрипта: можно ли к опциям добавить -"не загружать товары с ценой 0" как, например, сделано с "остатком 0"? И как это можно прописать?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


16-04-2010 03:35
Конечно можно :)
Находим
Цитата:
$img=Product::getCover($row['id_product']);
if ($row['quantity'] > 0)

меняем на
Цитата:
$img=Product::getCover($row['id_product']);
if ($row['quantity'] > 0 AND $row['price'] > 0)
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 13 < 1 2 3 4 5 6 > »