У меня получилось сделать так:
1. Чпу в настройках инфоблока.
2. Чпу в настройках компонента.
3. Как написал Артём Анатольевич выше, надо кастомизировать компонент catalog, предварительно скопировав его в свое пространство имен.
Изменяем файл /bitrix/components/bitrix/catalog/component.php, добавляя перед строкой
1. Чпу в настройках инфоблока.
2. Чпу в настройках компонента.
3. Как написал Артём Анатольевич выше, надо кастомизировать компонент catalog, предварительно скопировав его в свое пространство имен.
Изменяем файл /bitrix/components/bitrix/catalog/component.php, добавляя перед строкой
| Код |
|---|
$this->IncludeComponentTemplate($componentPage); |
условие
| Код |
|---|
if ($componentPage == 'section') {
$rowSection = Bitrix\Iblock\SectionTable::getRow([
'select' => ['CODE'],
'filter' => ['IBLOCK_ID' => $arParams['IBLOCK_ID'], '=CODE' => $arResult['VARIABLES']['SECTION_CODE']],
]);
if (is_null($rowSection)) {
$arResult['VARIABLES']['ELEMENT_CODE'] = $arResult['VARIABLES']['SECTION_CODE'];
unset($arResult['VARIABLES']['SECTION_CODE']);
$componentPage = 'element';
}
} |