Наверх
 

Навигация
Опрос
Есть ли на этом сайте что-нибудь полезное для Вас?
Да, конечно есть
Нет
Пока еще не нашел

База уроков » » » » Как выгрузить товары только в наличии из Битрикса в Яндекс Маркет

Как выгрузить товары только в наличии из Битрикса в Яндекс Маркет

05 фев 2014 | Комментариев: 0 | Просмотров: 10233

По умолчанию Битрикс выгружает в YML (Яндекс Маркет) все активированные товары.

Товарам у которых указана цена и количество на складе больше нуля, в выгружаемом файле XML присваивается значение available=”true”

Товарам у которых указана цена и количество на складе меньше или равно 0, в выгружаемом файле XML присваивается значение available=”false”

Задача сделать выгрузку только тех товаров, которые есть на складе, то есть их количество больше нуля, не важно указана цена или нет.

1) Создадим свой скрипт экспорта. Для этого возьмем из /bitrix/modules/catalog/load/ два файла: yandex_run.php и yandex_setup.php
2) Скопируем их в любое место на диск и переименуем, например new, главное сохранить окончание _run.php, в нашем случае получится так: new_run.php и new_setup.php
3) Теперь копируем эти файлы в /bitrix/php_interface/include/catalog_export/
4) После этого в админке битрикса появится новый скрипт экспорта:
 

Как выгрузить товары только в наличии из Битрикса в Яндекс Маркет

 

5) Теперь нужно добавить в наш файл скрипта условие для фильтра. Открываем файл new_run.php и находим строку 590:

 

$filter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");

 

6) Вставляем условие:

 

"!CATALOG_QUANTITY" => 0

 

Получаем строку:

 

$filter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "!CATALOG_QUANTITY"=>0);

 

Теперь будут выгружаться только те товары, которые есть в наличии.

Если у вас включены Торговые предложения (SKU), то нужно добавить такое же условие в строке 868, найдите:

 

$arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");

 

и замените на:

 

$arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "!CATALOG_QUANTITY" => 0);

 

Вот и все. Удачи

 

 




Теги: Битрикс

Ссылка на новость:

    html-cсылка на публикацию
    BB-cсылка на публикацию
    Прямая ссылка на публикацию

ЕЩЕ НА ЭТУ ТЕМУ:

Связь способов доставки с платежными системами в компоненте bitrix:sale.order.ajax

Связь способов доставки с платежными системами в компоненте bitrix:sale.order.ajax

Часто требуется сделать так, чтобы в оформлении заказа какие-то платежные системы показывались только для определенных служб доставки. Например, для доставки
Отображение слов в неактивном поиске для Битрикса

Отображение слов в неактивном поиске для Битрикса

  Делаем отображение слова в поиске, чтоб не было пустое поле и пользователь понимал для чего это поле.
Вывод любой информации на определенной страницы для Битрикса

Вывод любой информации на определенной страницы для Битрикса

Выводим нужную информацию на определенных страницах сайта для битрикса.
Текущее время сайта средствами битрикс

Текущее время сайта средствами битрикс

Выводим дату средствами Битрикс
Ошибка CForumNew::OnBeforeLangDelete (forum) при удалении сайта на Битриксе

Ошибка CForumNew::OnBeforeLangDelete (forum) при удалении сайта на Битриксе

Ошибка CForumNew::OnBeforeLangDelete (forum) при удалении сайта на Битриксе. Расскажу как избавиться.
Ошибка CRubric::OnBeforeLangDelete (subscribe) при удалении сайта на Битриксе

Ошибка CRubric::OnBeforeLangDelete (subscribe) при удалении сайта на Битриксе

Ошибка CRubric::OnBeforeLangDelete (subscribe) при удалении сайта на Битриксе. Расскажу как ее исправить.
Ошибка CSalePersonType::OnBeforeLangDelete (sale) при удалении сайта на Битриксе

Ошибка CSalePersonType::OnBeforeLangDelete (sale) при удалении сайта на Битриксе

Расскажу что означает Ошибка при удалении в CSalePersonType::OnBeforeLangDelete (sale) сайта в Битриксе.
Выводим контент в зависимости от группы пользователя для Битрикс

Выводим контент в зависимости от группы пользователя для Битрикс

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

Отправка письма на почту через веб-форму для Битрикса

Этим уроком я расскажу как сделать, чтоб на Битриксе работала отправка письма на почту через веб-форму. Сразу отвечу на резонный вопрос о том что ведь есть в
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.