Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


centrznanie

Recommended Posts

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

при выгрузке 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
Надіслати
Поділитися на інших сайтах


  • 1 month later...

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, выложить его? А то, насколько я понял, оригинальный файл достаточно кривой. А как его подравнять, чтобы он понравился Яндексу - хз. :(

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

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

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


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

Дай ссылку на магазин, попробую разобраться.
Надіслати
Поділитися на інших сайтах

  • 1 month later...

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

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 с какими-то изменениями.

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

Надіслати
Поділитися на інших сайтах

  • 5 months later...

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


  • 9 years later...

 

Цитата



Opencart 3

ос стор сборка, такая же проблема, у меня поле (83) price - не хочет умножать коофициент валюты 1.3455 на цену которая была в usd 1.000

yandex_turbo.php

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.