bitrix:catalog убрать повторение ссылок

Если использовать ЧПУ в bitrix:catalog и на сайте многоуровневая структура разделов каталога, то ссылки иногда дублируются. При включении ЧПУ в данном компоненте и включённой опции "INCLUDE_SUBSECTIONS" ссылки на товары из вложенных разделов начинают выводится исходя из текущего раздела. Допустим параметры в bitrix:catalog имеют следующий вид:



"SEF_MODE" => "Y",
"SEF_URL_TEMPLATES" => array(
   "sections" => "",
   "section" => "#SECTION_ID#/",
   "element" => "#SECTION_ID#/#ELEMENT_ID#/",
   "compare" => "",
)


В таком случае #SECTION_ID# в списке элементов будет отображать id родителя раздела, а не id самого раздела у элемента. А на детальной странице #SECTION_ID# поменяет своё значение. Такое поведение BITRIX вредно для SEO.



Решение проблемы: включение параметра "SHOW_ALL_WO_SECTION" для bitrix:catalog.section. Ссылки начинают формироваться в соответствии с ID группы, заданной для элемента в таблице `b_iblock_element`. В коде шаблона компонента bitrix:catalog в файле section.php при включении компонента bitrix:catalog.section этот параметр отсутствует, а по умолчанию для компонента он имеет значение "N", поэтому добавляем в section.php одну строку и смотрим на результат:



$APPLICATION->IncludeComponent("bitrix:catalog.section", ".default", Array(
      ...
      "SHOW_ALL_WO_SECTION" => "Y",
      "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"],
      ...