Что имеем:
- Каталог товаров с полностью настроенными каноничными страницами в настройках инфоблока и типах инфоблока.
- Товары которые указаны в нескольких разделах с указанным основным (каноничным) разделом (например раковины) и привязкой к неканоничному разделу (например "Новинки").
Задача:
- Вывести список новинок товаров на главной (catalog.section) с помощью указания ID раздела.
При такой ситуации все товары из списка новинок (внезапно) будут ссылаться на неканоничные страницы с ошибкой 404. Это не решается настройкой ЧПУ. Настройки вывода каноничный страниц у отдельного инфоблока catalog.section тупо нет.
Единственный вариант победить эту проблему, это в шаблоне template.php компонента catalog.section получить ссылку на товар, используя его ID.
<?
// обращаюсь к товару по ID
$el_res= CIBlockElement::GetByID($item["ID"]);
if ( $el_arr= $el_res->GetNext() ) {
// получаю каноничную ссылку на товар
$link_canonical = $el_arr[ 'DETAIL_PAGE_URL' ];
}?>