На странице вызваны компоненты
bitrix:news.list и
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");