Цитата |
---|
Наталья Гуменная написал: Добрый день! У меня на сайте все фотографии для каталога хранятся в файле /upload/resize_cache/iblock. |
а в /upload/resize_cache/iblock хранятся кэшированные превьюшки
26.10.2015 13:00:11
а в /upload/resize_cache/iblock хранятся кэшированные превьюшки |
|||
|
07.09.2015 21:30:46
Так же столкнулся с проблемой выгрузки каталога в яндекс.маркет.
Покупать готовые решения и модули принципиально не хочу, так как считаю, что такие функции должны быть включены в стандартную редакцию Битрикса. Править ядро тоже не будем, дабы не терять лицензию. Многим известно, что Яндекс не пропускает товары с торговыми предложениями. Причина одна - Каждому товарному предложению должна соответствовать отдельная страница сайта. В битриксе есть настройки, в типах инфоблоков, якобы позволяющие отображать урлы самих SKU, но это увы не работает, по крайней мере стандартными методами без правки ядра. Соответственно если хотим попасть в ЯМ, то выгружать мы должны только сам товар, а не его SKU. В моем случае товар мебель, например офисное кресло модель№1, имеет 5 вариантов исполнения (цвет). Стандартный функционал выгрузки в яндекс маркет, генерит YML как с простыми товарами, так и с SKU, причем в последнем случае у всех товарных предложений одна страница, и цена там может отображаться не та, в общем проверку не пройдем 100%. Самый простой выход и Задача номер раз - это не выгружать SKU, Это довольно просто - в настройках ИБ - добавляем новое свойство для Торговых предложений, например Я.Маркет - число или чекбокс, по умолчанию 0 В настройках дополнительных параметров экспорта - отбор по этому свойству, равно =1. Так как по умолчанию у всех SKU это свойство = 0, в YML они не попадают. Переходим в Настройки-Настройки продукта-Настройки модулей-Торговый каталог Значения параметров товаров по умолчанию так как товаров много и каждому делать персональные настройки смысла нет.
это логично так как у нас не включен количественный учет. для яндекса это означает, что товар можно приехать купить в магазин либо заказать с доставкой в течение 2 дней. Если включить количественный учет, то у товаров с доступным количеством более 0 будет available="true" , а у товаров с нулем будет available="false" available="false" для яндекса - это статус под заказ с доставкой от 3 дней до 2 месяцев. В моем случае, все товары из наличия доставляются в течение 3 дней, поэтому всем нужно прописать false, но на сайте хочется показать клиенту, что товары есть и даже отобразить остатки. Поэтому мы ставим всем товарам количество =0, а SKU - фактическое количество Тут возникает еще одна проблема, если товар без SKU и его количество = 0, либо товар содержит SKU, но у всех количество = 0, то на странице товара пропадает кнопка корзины, что так же является нарушением и проверка яндекса не пропускает такой магазин. Логично проставить в настройках Разрешить покупку при отсутствии товара. Но после этого в YML у всех товаров снова available="true" Суть дилеммы в том что для битрикса available="false" означает, что товара нет и возможно не будет, и сделать заказ на сайте невозможно, для яндекса available="false" - означает что товар можно заказать, но привезут его не быстро, в лучшем случае за 3 дня. Проблему могли бы решить разработчики, настроив для SKU отдельные страницы, но они этого не делают, хотя с этим вопросом к ним не раз обращались. Я решил проблему настроив скрипт под свои нужды, так называемый custom скрипта yandex_run.php 1) Создадим свой скрипт экспорта. Для этого возьмем из /bitrix/modules/catalog/load/ два файла: yandex_run.php и yandex_setup.php 2) Скопируем их в/bitrix/php_interface/include/catalog_export/ и переименуем, например new, главное сохранить окончание _run.php, в нашем случае получится так: new_run.php и new_setup.php 3) После этого в админке битрикса появится новый скрипт экспорта Далее потребуются минимальные знания php, главное понимать логику процесса, с помощью поисковиков вы найдете что нужно поменять в скрипте, чтобы заработало как вам надо. Приведу свой пример. Мне необходимо, чтобы в YML у всех товаров было available="false", при этом на сайте отображалось количество товара и количество его SKU Чтобы на сайте можно было заказывать товар с количеством =0 1. Открываем в режиме правки php файл /bitrix/php_interface/include/catalog_export/new_run.php 2. Ищем слово available и первое что нам попадается это строка $arAcc['CATALOG_AVAILABLE'] = 'Y'; Это значение э напрямую влияет на свойство available в нашем YML, за это свойство отвечает переменная $str_AVAILABLE = ' available="'.('Y' == $arAcc['CATALOG_AVAILABLE'] ? 'true' : 'false').'"'; которая подставляет true если Y, и false если N Мы просто находим и меняем все строки $arAcc['CATALOG_AVAILABLE'] = 'Y'; на $arAcc['CATALOG_AVAILABLE'] = 'N'; Далее скрипт проверяет на условия количества, вклчен ли кол.учет, разрешена ли покупка нулевого количества и все равно ставит N, но меня это уже не волнует. проблема решена. Надеюсь я кому-нибудь помог данным постом. Все удачи |
|||||
|