это я теперь так решил сделать.
но ведь в родном, битриксном шаблоне ajax-запросы отправляются на отдельный файл, как здесь (/add2basket.php), а на index.php, в котором соответственно находится вызов компонента (в моем случае catalog).. и т.д.
хотя вот сейчас копал, и обнаружил одну странность:
если выбрать шаблон "properties" для catalog, то оно отрабатывает как раз, как я и ожидал.
т.е. если это элемент, то в результате то же добавление в корзину происходит в файле components\bitrix\catalog.element\component.php
Уже скидывал его:
Код |
---|
if(!$strError && Add2BasketByProductID($productID, $QUANTITY, $product_properties))
{
if ($action == "BUY")
LocalRedirect($arParams["BASKET_URL"]);
else
LocalRedirect($APPLICATION->GetCurPageParam("",
array($arParams["PRODUCT_ID_VARIABLE"], $arParams["ACTION_VARIABLE"])));
} |
но вот если поставить для компонента catalog шаблон .default, то оно использует какой-то другой файл для обработки. как минимум, п.ч. этого самого LocalRedirect не осуществляется, и происходит ajax добавление в корзину, даже при выключенном AJAX_MODE.
Вобщем, как итог: я сейчас ещё больше провожусь с внутренностями битрикса, пока буду понимать что к чему. Поэтому воспользуюсь как раз тем же обходным методом, что вы упомянули. Может, в дальнейшем разберусь, как время будет.