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