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

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

Отладка ошибок битрикс модулей Часто не понятно с чем связана ошибка модуля и каких ему в реальности не хватает входных параметров, так как в документации об этом может быть не сказано.
Для этого есть два способа.

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

© 2015-2023 Web админ
Связаться по WhatsApp