Допустим у нас есть раздел site.ru/news/
Мы хотим выводить новости, но без подразделов и допустим site.ru/news/news-name/
1. В настройках инфоблока:
URL страницы информационного блока: #SITE_DIR#/news/
URL страницы детального просмотра: #SITE_DIR#/news/#ELEMENT_CODE#/
2. В api компонента
"SEF_FOLDER" => "/news/",
"SEF_URL_TEMPLATES" => array(
"news" => "",
"section" => "",
"detail" => "#ELEMENT_CODE#/",
)
Или, допустим, мы хотим выводить новости с подразделами site.ru/news/section/news-name/
1. В настройках инфоблока:
URL страницы информационного блока: #SITE_DIR#/news/
URL страницы раздела: #SITE_DIR#/news/#SECTION_CODE#/
URL страницы детального просмотра: #SITE_DIR#/news/#SECTION_CODE#/#ELEMENT_CODE#/
2. В api компонента
"SEF_FOLDER" => "/news/",
"SEF_URL_TEMPLATES" => array(
"news" => "",
"section" => "#SECTION_CODE#/",
"detail" => "#SECTION_CODE#/#ELEMENT_CODE#/",
)
Или, допустим, мы хотим выводить новость в несколько разделов, но чтобы чпу у новости был не в подразделе.
К примеру новость отображалась в разделах site.ru/news/section1 и site.ru/news/section2 , но url самой новости был один для этих разделов (site.ru/news/detail/news-name/)
1. В настройках инфоблока:
URL страницы информационного блока: #SITE_DIR#/news/
URL страницы раздела: #SITE_DIR#/news/#SECTION_CODE_PATH#/ (хотя можно даже section_code не указывать)
URL страницы детального просмотра: #SITE_DIR#/news/#ELEMENT_CODE#/
2. В api компонента
"SEF_FOLDER" => "/news/",
"SEF_URL_TEMPLATES" => array(
"news" => "",
"section" => "#SECTION_CODE_PATH#/",
"detail" => "#ELEMENT_CODE#/",
)
или еще так можно
1. В настройках инфоблока:
URL страницы информационного блока: #SITE_DIR#/news/
URL страницы раздела: #SITE_DIR#/news/#SECTION_CODE#/ (хотя можно даже section_code не указывать)
URL страницы детального просмотра: #SITE_DIR#/news/element/#ELEMENT_CODE#/
2. В api компонента
"SEF_FOLDER" => "/news/",
"SEF_URL_TEMPLATES" => array(
"news" => "",
"section" => "#SECTION_CODE#/",
"detail" => "element/#ELEMENT_CODE#/",
)
Еще, в корне проекта есть файл urlrewrite.php - он отвечает за обработку адресов. Вообще он должен обновляться когда вы сохраняете компонент через редактор админа на фронте, либо через админку в обработке адресов.
Однако вы можете глянуть как там прописаны пути
0 =>
array (
'CONDITION' => '#^/news/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/news/index.php',
'SORT' => 100,
),