Отладка ошибок битрикс модулей

Для этого есть два способа.
1) Пишем в лог параметры модуля
На примере модуля каталог, ищем результирующую функцию
public function getProductData(array $products)
{ return $this->getData($products);}
Временно заменяем на свой вариант и пишем в лог данные параметров:
public function getProductData(array $arParams)Смотрим какие данные там есть и сравниваем с тем, что мы пытаемся туда передавать, добавляем те данные о которых нам стало известно.
{
self::log($arParams, 'logs/_catalogpriceprovider.log');
return parent::getProductData($arParams);
}
2) Увидеть массив параметров необходимых для модуля
На примере модуля интернет-магазина хотим понять какие данные нужны для добавления скидки. В файле /bitrix/modules/sale/admin/discount_edit.php находим добавление скидки CSaleDiscount::Add
Добавляем принт данных:
echo '<pre>';
print_r($arFields);
echo '</pre>';
die();
Добавляем новую скидку, и жмём сохранить, после этого смотрим массив $arFields, который нужен чтобы добавить скидку. Сверяем со своими данными и находим те данные которых не хватает.
Ещё статьи:
08.11.2023
Прощай bitrix.xscan, не стало битрикс скан модуля
Сегодня увидел, что полезного модуля bitrix.xscan не стало на маркетплейсе.
ID: 464
26.07.2023
Сохренение ютм меток в сессию
Вариант сохренения ютм меток в сессию в афйле init.php
ID: 462
29.06.2023
Почему DNS есть, но ошибка "Не удалось получить записи с DNS серверов"
Проверка на VPS показывает, что DNS есть, но по факту ошибка "Не удалось получить записи с DNS серверов"
ID: 461