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