Перейти к содержанию
centrznanie

Яндекс Маркет

Рекомендуемые сообщения

Добрый день, прошу помощи:

при выгрузке yml файла со стороны Платона обнаружены нарушения Требований к рекламным материалам:

-Нет статуса "под заказ".

В импортируемом на Маркет файле у всех товаров статус: available="true" — товар в наличии

Нужен еще статус available="false" — товар на заказ каким-то образом связанный со страницей товара, у которого выставлен статус нет на складе или под заказ (http://help.yandex.ru/partnermarket/?id=1111461)

Как это можно решить? У меня нет желания выставлять всем товарам статус "в наличии" если их реально нет, а потом негативные отзывы о работе на том же Маркете получать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при выгрузке yml файла со стороны Платона обнаружены нарушения Требований к рекламным материалам:

-Нет статуса "под заказ".

Типа такого:

в \catalog\controller\export\yml.php

(если id статуса продукта не равен 7 (у меня это "нет в наличии")- ставим доступно, если равен - ставим недоступно, решение возможно кривое, проверяйте)

foreach ($products as $product) {
				$output .= '<offer id="'.$product['product_id'].'"';
				if ($product['stock_status_id']==7) {
				$output .= ' available="true" ';
				} else {
				$output .= ' available="false" ';
				}

А вообще яндексу вроде как пофиг, я ему например выгружаю только те товары, которые есть в наличии, остальные просто не отдаю в yml, и они не жалуются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типа такого:

в \catalog\controller\export\yml.php

(если id статуса продукта не равен 7 (у меня это "нет в наличии")- ставим доступно, если равен - ставим недоступно, решение возможно кривое, проверяйте)

foreach ($products as $product) {
				$output .= '<offer id="'.$product['product_id'].'"';
				if ($product['stock_status_id']==7) {
				$output .= ' available="true" ';
				} else {
				$output .= ' available="false" ';
				}

А вообще яндексу вроде как пофиг, я ему например выгружаю только те товары, которые есть в наличии, остальные просто не отдаю в yml, и они не жалуются.

19th, спасибо

Чтобы окончательно закрыть вопрос:

где присваиваются id продуктам (id=7 - "нет в наличии")?

я ему например выгружаю только те товары, которые есть в наличии, остальные просто не отдаю в yml

т.е., по логике, указываем в yml, что id=7"нет в наличии"(???) и id=..."под заказ" не загружаются в Яшу - это бы меня как раз и устроило.

Только не смогу я это на программном уровне воплотить - нет навыков :blink:. Единственный язык программирования который изучал был бэйсик. Это было в школе лет 15 назад... :rolleyes:

Спасибо за понимание

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

где присваиваются id продуктам (id=7 - "нет в наличии")?

Зайди в админку, в редактирование наименования статусов заказов, выбери "редактировать" мышку на нужный статус и смотри куда она ссылается (в адресной строке будет большой адрес, который в себя включает что-то похожее на "id=7" ну или любое другое число).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

foreach ($products as $product) {
				$output .= '<offer id="'.$product['product_id'].'"';
				if ($product['stock_status_id']==7) {
				$output .= ' available="true" ';
				} else {
				$output .= ' available="false" ';
				}
кривое решение. кто-нибудь подскажет правильное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кривое решение. кто-нибудь подскажет правильное?

foreach ($products as $product) {
                                if ($product['stock_status_id']==7) {
                                $output .= '<offer id="'.$product['product_id'].'" available="true" bid="13">' . $this->eof;
                                } else {
                                $output .= '<offer id="'.$product['product_id'].'" available="false" bid="13">' . $this->eof;
                                }
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как в яндекс маркет файле импортировать товар с seo url?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное вот так, как тут.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

foreach ($products as $product) {
                                if ($product['stock_status_id']==7) {
                                $output .= '<offer id="'.$product['product_id'].'" available="true" bid="13">' . $this->eof;
                                } else {
                                $output .= '<offer id="'.$product['product_id'].'" available="false" bid="13">' . $this->eof;
                                }

яндекс маркет не принимает товары так как те товары которые под заказ выгружаются с параметром available="true" но у меня магазин настроен так что когда товара нет он имеет статус на заказ и имеет ид 3. тот же статус стоит у товаров что есть в наличии. тоесть ид 3 но он отображается так как количество больше 1. Подскажите решение без прописывания ид3 так как если его проставляешь то все товары становятся на заказ, даже те которые в наличии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, у мну есть 2 вопроса по скармливанию яндексу результатов работы yml.php:

1. Что сие значит?:

Определена кодировка: utf-8 (строка 0, столбец 0)
Дата из файла: 2011-04-01 19:04 (строка 1, столбец 166)
Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Element 'model' is not valid for content model: '(url?,buyurl?,price,wprice?,currencyId,xCategory?,categoryId+,picture?,store?,pickup?,delivery?,deliveryIncluded?,local_delivery_cost?,orderingTime?,((typePrefix?,vendor,vendorCode?,model,((provider,tarifplan?))?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,binding?,page_extent?,table_of_contents?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,table_of_contents?,performed_by?,performance_type?,storage?,format?,recording_length?)|(artist?,title,year?,media?,starring?,director?,originalName?,country?)|(worldRegion?,country?,region?,days,dataTour*,name,hotel_stars?,room?,meal?,included,transport,price_min?,price_max?,options?)|(name,place,hall?,hall_part?,date,is_premiere?,is_kids?)|(name,vendor?,vendorCode?)),aliases?,additional*,description?,sales_notes?,promo?,manufacturer_warranty?,country_of_origin?,downloadable?,adult?,barcode*,param*)' (строка 41, столбец 119)
В 41 строке у меня вот это:

$output .= '<price>' . $this->tax->calculate($product['price'], $product['tax_class_id']) . '</price>';
Судя по Element 'model' is not valid for content model: , ему не нравится формат написания моделей? Тогда, при чём тут 41 строка? Или я не так сие понимаю? У меня есть модели с пробелами и слешем (например "tovar: 12345/67"). Надо как-то по-другому писать?

2. Не могли бы те, у кого нормально работает, кто нормально подшаманил файл yml.php, выложить его? А то, насколько я понял, оригинальный файл достаточно кривой. А как его подравнять, чтобы он понравился Яндексу - хз. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 41 строке у меня вот это:

$output .= '<price>' . $this->tax->calculate($product['price'], $product['tax_class_id']) . '</price>';
Нужно смотреть что в 41 строке сгенерённого файла

2. Не могли бы те, у кого нормально работает, кто нормально подшаманил файл yml.php, выложить его? А то, насколько я понял, оригинальный файл достаточно кривой. А как его подравнять, чтобы он понравился Яндексу - хз. :(

Судя по коду ты вряд-ли найдёш "у кого нормально работает"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по коду ты вряд-ли найдёш "у кого нормально работает"...

Ну как-то же люди добавляют на ЯМ! Я уже и вывод модели убирал, и ещё кучу шаманств делал. Не помогло. Начинают другие ошибки вылазить. Непруха какая-то. Или проблема в руках... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как-то же люди добавляют на ЯМ! Я уже и вывод модели убирал, и ещё кучу шаманств делал. Не помогло. Начинают другие ошибки вылазить. Непруха какая-то. Или проблема в руках... :)

Дай ссылку на магазин, попробую разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Читай ЛС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

высвечивается:

Parse error: syntax error, unexpected T_PROTECTED in /home/westmarketby/www/westmarket.by/catalog/controller/export/yml.php on line 86

после того как прописываешь:

foreach ($products as $product) {

if ($product['stock_status_id']==7) {

$output .= '<offer id="'.$product['product_id'].'" available="true" bid="13">' . $this->eof;

} else {

$output .= '<offer id="'.$product['product_id'].'" available="false" bid="13">' . $this->eof;

}

не подскажете?

86 строка:

// Возвращает массив категорий

protected function getCat($pi=0) {

$categories = $this->model_catalog_category->getCategories($pi);

$out = '';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по всему используется yml.php из стандартной сборки ocStore с какими-то изменениями.

Я уже писал что файл из стандартной сборки - кривой как поросячий хвост и разбираться с ним нет никакого желания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня была аналогичная проблемма. Как выяснилось я создал не правильный DOMdocument (в PHP.)

А именно, случайно прикрепил <offers> вне <shop> На глаз все выглядело правдоподобно,

но естественно не работало с диагностикой "Not enough elements to match content model"

Теперь все работает.

Только вот где можно посмотреть результат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.