На странице вызваны компоненты bitrix:news.list и bitrix:catalog.filter.
Нужно передать значение переменной, которую возвращает bitrix:news.list в $arParams bitrix:catalog.filter. Я решил проблему нижеуказанным образом. Однако теперь фильтр, конечно, не работает, так как arFilter теперь формируется ниже bitrix:news.list.
Эта проблема каким-то образом решаема?
Пояснение:
bitrix:news.list кастомизирован. Теперь он возвращает свой $arParams["AJAX_ID"]. Мне нужно этот AJAX_ID передать в bitrix:catalog.filter. Используется CAjax::GetForm(). То есть мне нужно передать id обновляемой области в bitrix:catalog.filter. Сейчас мне приходится хардкодить:
Нужно передать значение переменной, которую возвращает bitrix:news.list в $arParams bitrix:catalog.filter. Я решил проблему нижеуказанным образом. Однако теперь фильтр, конечно, не работает, так как arFilter теперь формируется ниже bitrix:news.list.
Эта проблема каким-то образом решаема?
Код |
---|
$APPLICATION->ShowViewContent("filter"); $return = $APPLICATION->IncludeComponent( "bitrix:news.list", "", Array( "FILTER_NAME" => "arFilter", // ... ) ); ob_start(); $APPLICATION->IncludeComponent( "bitrix:catalog.filter", "", Array( "FILTER_NAME" => "arFilter", 'RETURN' => $return, // ... ), $component ); $APPLICATION->AddViewContent("filter", ob_get_clean()); |
Пояснение:
bitrix:news.list кастомизирован. Теперь он возвращает свой $arParams["AJAX_ID"]. Мне нужно этот AJAX_ID передать в bitrix:catalog.filter. Используется CAjax::GetForm(). То есть мне нужно передать id обновляемой области в bitrix:catalog.filter. Сейчас мне приходится хардкодить:
Код |
---|
CAjax::GetForm("", "comp_7409d65e7fac8b82c3fb20e6ad6a4bca", "7409d65e7fac8b82c3fb20e6ad6a4bca"); |