Сatalog.smart.filter в корне каталога — Страница не найдена, как исправить?

Здраствуйте.
Я знаю что об этом писали, но я не смог исправить данную проблему и не знаю как её исправить.

При фильтрации, пишет - Страница не найдена.
Если отключит ЧПУ, то все работает. При отключённом в компоненте - 404 страница появляется.

$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter","",array(
"SECTION_ID" => 0,
"SHOW_ALL_WO_SECTION" =>"Y",
"SEF_RULE" =>'/projects/filter/#SMART_FILTER_PATH#/apply/',
"SMART_FILTER_PATH" =>$_REQUEST["SMART_FILTER_PATH"],
...
),$component,array('HIDE_ICONS' => 'Y'));?>

<?$APPLICATION->IncludeComponent("bitrix:catalog.section","",array(
"INCLUDE_SUBSECTIONS" =>'Y',
"SECTION_ID" =>0,
"SHOW_ALL_WO_SECTION" => "Y",
"SECTION_CODE" =>'',
...				
),$component);?>

$arUrlRewrite=array (
...
  2 => 
  array (
    'CONDITION' => '#^/projects/#',
    'RULE' => '',
    'ID' => 'bitrix:catalog',
    'PATH' => '/projects/index.php',
    'SORT' => 100,
  ),
  3 => 
  array (
    'CONDITION' => '#^/projects/filter/([a-z0-9_\\-\\/]+)/apply/#',
    'RULE' => 'SMART_FILTER_PATH=$1&',
    'ID' => 'bitrix:catalog',
    'PATH' => '/projects/index.php',
    'SORT' => 101,
  ),
...
);
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
harts_1493
@harts_1493 Автор вопроса
Проблему решил:
Дописал в local/components/bitrix/catalog/component.php
if($componentPage == "section")
	{
		if (isset($arVariables["SECTION_ID"]))
			$b404 |= (intval($arVariables["SECTION_ID"])."" !== $arVariables["SECTION_ID"]);
		else
			$b404 |= !isset($arVariables["SECTION_CODE"]);
	}
/*####*/
	if(CSite::InDir('/projects/filter/')){
		$b404 = false;
	}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы