Новый шаблон sale.order.ajax: кастомизация

Изображение
На реализацию этого функционала ушло порядка 30 часов рабочего времени (плюс время на самообразование). За это время было отправлено 18 коммитов, написано 371 строк кода и осуществлено несколько попыток виртуального суицида :) Основная задача Создать группу свойств "Параметры доставки", которая будет зависеть от выбора типа доставки. Для курьера это "Адрес доставки", для "Транспортной компании" это выбор ТК из выпадающего списка, для доставки "Другая транспортная компания" - тоже текстовое поле (как и адрес доставки). Все эти поля являются обязательными, и отображаться должны не в блоке "Пользователь", а в блоке с доставками. В новом шаблоне sale.order.ajax перенести поля в другой блок не так просто, как кажется на первый взгляд, а информации на эту тему буквально крупицы.

Запуск экспорта в Яндекс.Маркет после каждого обмена с 1С

Итак, функция CCatalogExport::PreGenerateExport(3); позволяет запустить профиль экспорта в Маркет с ID=3.
Будем вешать его на событие успешного обмена с 1С. Скорее всего, это будет OnSuccessCatalogImport1C.

Поместим обработчик в файл init.php:

AddEventHandler("catalog", "OnSuccessCatalogImport1C", "OnSuccessCatalogImport1CHandler");
function OnSuccessCatalogImport1CHandler() { 
//функция должна выполнять экспорт в Яндекс.Маркет сразу после обмена с 1С 
   CModule::IncludeModule("catalog");
   CCatalogExport::PreGenerateExport(3); 
 }

После успешного импорта запускается функция. Подключается модуль Каталог, и для него выполняется функция экспорта. 

Комментарии

Популярные сообщения из этого блога

Вывод пользовательского свойства раздела в компонентах catalog.section и news.list

Новый шаблон sale.order.ajax: кастомизация

Если при полной выгрузке из 1С в битрикс товары и разделы приходят неактивными