Вопрос следующий: должны ли эти функции возвращать все поля $arFields или только измененнные?
Когда подключил CALLBACK_FUNC, которая возвращает только
CSaleBasket::Add стала возвращать FALSE, в связи с чем и встал такой вопрос.
Далее размышления вслух:
В документации этот момент не освещен и если действительно необходимы все поля, то по моему скромному мнению это существенно узкое место: по-любому мы в реализации корзины используем инфоблоки, получаем свойства и т.п. и эта функция выполняется каждый раз при чтении корзины для каждого элемента! Куда логичнее было бы передавать указатель &$arFields и просто менять необходимые поля.
Когда подключил CALLBACK_FUNC, которая возвращает только
Код |
---|
$arFields = array( 'PRICE'=>9999, 'CAN_BUY'=>'Y' ); |
CSaleBasket::Add стала возвращать FALSE, в связи с чем и встал такой вопрос.
Далее размышления вслух:
В документации этот момент не освещен и если действительно необходимы все поля, то по моему скромному мнению это существенно узкое место: по-любому мы в реализации корзины используем инфоблоки, получаем свойства и т.п. и эта функция выполняется каждый раз при чтении корзины для каждого элемента! Куда логичнее было бы передавать указатель &$arFields и просто менять необходимые поля.