Виталий, добрый день.
CML 2.04
Моя версия модуля 1.6.3.11.
Сегодня столкнулся с проблемой, что заказчик не может удалить описание товара через 1с.
Раньше у товара было описание и на сайте оно есть, а теперь заказчик удалил описание в карточке товара в 1с.
А раз в карточке нет описания, то и в xml файле выгрузки нет тэга <Описание>, что в свою очередь означает, что поле описание будет проигнорировано и не будет обновлено в опенкарте.
Тогда я решил удалять описание у товара если в xml нет соответствующего тэга, но столкнулся со следующей проблемой:
Сначала функция updateProduct($data) отработает для файла import.xml, а затем для offers.xml
Во втором файле априори отсутствует тэг <Описание>, что делает невозможным выполнять условия ( if (isset($data['description'])) ) когда описание в карточке товара в 1с пустое (isset($data['description']) == false )
Код условия приложен ниже:
Тогда я разделил функцию на две updateProduct($data):
updateProductImport($data) и updateProductOffer($data).
Разделение этой функции на две независимые значительно упрощает доработку кода, тк позволяет обрабатывать случаи когда в карточке товара удаляется информация и удаление должно быть передано в опенкарт.
Пост может быть не актуален т.к. я не следил за последними обновлениями, но если эти изменения не были внесены в последующих версиях, прошу обратить внимание.
Спасибо за Ваш труд Виталий