Передача остатков в яндекс маркет cs-cart

Добрый день!

Возможно ли организовать передачу остатков через стандартный модуль яндекс.маркета?

вроде обещали добавить поле в модуль. Еще не добавили? Я в итоге плюнул ждать изменения в модуле и быстренько запилил свой

Вы имеете в виду yml_export? В нём я добавил пару строк и остатки стали выгружаться.

не поделитесь=)? Может разработчики увидят и сделают :rofl::rofl::rofl:

1 лайк

Делал давно, могу что-то упустить.
Попробуйте
yml_export\Tygh\Ym\Offers\Simple.php
в protected $schema = array( добавить ‘amout’,

yml_export\Tygh\Ym\Offers\Base.php
в public function build($product) в самом конце перед return $offer;
добавить $offer[‘items’][‘amount’] = $product[‘amount’];

Добрый день! Если есть возможность, пожалуйста, прикрепите свой файл с кодом. Я уже испробовал все возможные места вставки, но остатки так и не появляются в выгрузке.

После вставки нужно создать новый фид и сгенерировать его

Создайте резервные копии предварительно.

Base.php (20,0 КБ)
Simple.php (1,8 КБ)

Повезёт, если версии карта совпадут ))

Александр, можно подробнее об этом?
Я не собираюсь “в тупую” менять файлы. Только некоторое их содержимое.

если частично то не страшно )) оригинал только надо будет забэкапить

я у себя полностью переделывал под своим модулем
только у меня не

$offer[‘items’][‘amount’] = $product[‘amount’];

а вот так

$offer[‘items’][‘count’] = $product[‘amount’]


ну и доработки, типа штрихкода, атрибута available и ещё что-то…

Благодарю Вас! Все работает!

Александр, пожалуйста, подскажите, почему по описанному выше способу я не могу добавить в выгрузку минимальное количество для заказа
$offer[‘items’][‘min-quantity’] = $product[‘min_qty’]; - не дает результата в выгрузке
В Simple.php добавлен ‘min-quantity’

app/addons/yml_export/Tygh/Ym/Yml2.php

попробуйте в generateOffers расширить массив $fields и добавьте туда поле min_qty

app/addons/yml_export/Tygh/Ym/Offers/Simple.php

protected $schema = array(
    ...,
    'min-quantity',
);

app/addons/yml_export/Tygh/Ym/Offers/Base.php

public function build($product) {
    ...
    $offer['items']['min-quantity'] = $product['min_qty'];
    ...
    return $offer;
}

Должно работать )) попробуйте вместо $product[‘min_qty’] подсунуть константу, например 1.


Приветствую, Александр подскажите что нужно прописать в поле model чтобы было название товара? Благодарю.

По хорошему (Информация о товарах в форматах YML и CSV (offers, offer) - Маркет для магазинов: модель ADV. Справка Яндекс.Маркета для магазинов) для упрощённого типа название товара надо передавать полем name

Для произвольного типа “typePrefix + vendor + model” я даже сходу и не скажу как сделать красивую реализацию стандартными средствами карта.

Но… если очень хочется использовать поле model в выгрузке и ничто Вас остановить не в силах:

в метод build класса Base добавить строку
$offer['items']['model'] = $product['product'];

где-то примерно тут

на свой страх и риск ))

1 лайк

А вы какой тип формируете для вебмастера?
Дело в том, что когда фид формирую по типу “Упрощенный” поля name не выводится вообще.
Поддержка вебмастера мне показали что необходимо иметь поле vendor.model Данное поле формируется только по Произвольному типу и отсюда необходимо “typePrefix + vendor + model”. Когда я запускаю товарную рекламу в Директе или размещаю товары в Вебмастере, то место названия товара выходят цифры или еще что-то, но не название товара и по-этому я стала прописывать в поле model название товара, чтобы первой строчкой у карточки товара стояло именно наименование.

">

У меня сильно переделано под себя )) и товары в фиде выглядят примерно так:

Дак вот сижу и плачу, тоже придется сильно под себя создавать. В принципе поняла как мне нужно и протестила. Когда товаров было мало справлялась вручную, но сейчас ассортимент растет. Только понять не могу почему в категории во вкладке экспорт Яндекс настраиваешь как нужно мне а в фиде не выходит. И в Параметрах товарных предложений не встает нужное значение :sneezing_face: Не встает и все тут!