@Enkin
Каталог реализован через стандартный компонент Битрикса, продукты = элементы инфоблока.
Мне нужно добавить для каждого продукта мануал.
Он должен располагаться по адресу вида /catalog/КАТЕГОРИЯ/ПРОДУКТ/МАНУАЛ , структуру адреса менять нельзя, потому что адреса уже напечатаны в QR на упаковках.
У мануала должен быть свой шаблон, часть инфы берет из продукта, часть — собственный текст (поле для html)
Как такое сделать?
Решения вопроса 0
Ответы на вопрос 1
@PetrPo
1. В параметры комплексного компонента, в SEF_URL_TEMPLATES надо добавить свой ключ, который должен совпадать с «element» + нужная приставка
"SEF_URL_TEMPLATES" => array(
//...........
"element" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/",
"manual" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/myprotectionproduct/manual/",
)
2. В шаблон комплексного компонента надо добавить файл manual.php, в котором в массиве $arResult[‘VARIABLES’] будет доступен ID/CODE элемента, по которому можно понять в каком элементе находимся, дальше можно делать на этой странице все тоже что и на других, например в element.php
3. там же есть файл .parameters.php, добавь в конце
$arTemplateParameters['SEF_URL_TEMPLATES_manual'] = array(
'PARENT' => 'SEF_MODE',
'NAME' => GetMessage('PARAMETER_SEF_URL_TEMPLATES_MANUAL'),
"DEFAULT" => "",
"VARIABLES" => array(),
);
это чтобы при сохранении компонента из публички не стерся твой параметр, GetMessage(‘PARAMETER_SEF_URL_TEMPLATES_MANUAL’) — надо добавить в lang файл, здесь же папка /lang/ru/.parameters.php добавить
$MESS['PARAMETER_SEF_URL_TEMPLATES_MANUAL'] = 'Мануал';