В стандартном функционале при выводе списка подарков в корзине не получается включить кнопку "выбрать" вместо "подробнее". Начал смотреть в коде и понял что не выводится из-за статуса $arItem['CAN_BUY'] который false. Товар в разделе купить можно. И если перейти по кнопке подробней и добавить в корзину, то тоже все хорошо (добавляется как подарок).
Начал пытаться разобраться как работает компонент, но дошел до момента, где вроде бы должны подставляться значения кодов цены, но там передается пустой массив:
private function buildIblockDependedParameters() {
...
$this->arParams['PRICE_CODE'] = array(
$this->getPriceCode($this->fetchProductPriceId()),
);
}
Так и не понял зачем нужны эти методы $this->getPriceCode($this->fetchProductPriceId()).
В общем, если закомментировать этот код, что бы не присваивать arParams['PRICE_CODE'] пустой массив (т.к. в параметрах уже есть не пустой массив PRICE_CODE), то кнопка "выбрать" появляется. Так же если в template.php присвоить $arItem['CAN_BUY'] = true, тоже все норм становится.
Ясно что нельзя лезть в дивжок битрикса. Но как все таки выключить эту кнопку "выбрать" без костылей?
Начал пытаться разобраться как работает компонент, но дошел до момента, где вроде бы должны подставляться значения кодов цены, но там передается пустой массив:
private function buildIblockDependedParameters() {
...
$this->arParams['PRICE_CODE'] = array(
$this->getPriceCode($this->fetchProductPriceId()),
);
}
Так и не понял зачем нужны эти методы $this->getPriceCode($this->fetchProductPriceId()).
В общем, если закомментировать этот код, что бы не присваивать arParams['PRICE_CODE'] пустой массив (т.к. в параметрах уже есть не пустой массив PRICE_CODE), то кнопка "выбрать" появляется. Так же если в template.php присвоить $arItem['CAN_BUY'] = true, тоже все норм становится.
Ясно что нельзя лезть в дивжок битрикса. Но как все таки выключить эту кнопку "выбрать" без костылей?