@VladPolanski

Как переопределить URL в template.php?

Уважаемые знатоки Битрикса. Такой вот у меня вопрос. Есть комплексный компонент catalog.
Есть у меня условие в template.php
if($arItem["CODE"] == ""){
    $arItem["DETAIL_PAGE_URL"] .= $arItem["NAME"].$arItem["DISPLAY_PROPERTIES"]["SIZE"]["~VALUE"] 
}

Если символьный код у элемента не заполнен, то детальная страница имеет вид который записан в условие.
$arItem["DETAIL_PAGE_URL"] в результирующем массиве перезаписывается - а вот при переходе по ссылке - пишет Страница не найдена. Что же делать? Подскажите.
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
А почему это должно работать?
Ну вот есть компонент A который выводит URL в шаблоне которого написан этот код. Ок. Он выводит этот URL.
А есть компонент B который выводит по URL товары. Вы этот URL открыли, но откуда компонент B вообще может узнать что в данном конкретном случае надо искть товар не с кодом foo150 а с названием foo и размером 150?
Не никаких причин чтобы работала это реализация и никаких для вас способов заставить ее работать. Т.е. это в принципе можно сделать, но сложно (достаточно сказать, что вам надо будет свой компонент писать) и ненужно, потому что даже если вам нужна такая логика, то ее можно реализовать иначе.
Сделайте преехватчик создание и изменения элемента и если у него не заполнен код, заполняйте код автоматически подставляя туда $arItem["NAME"].$arItem["DISPLAY_PROPERTIES"]["SIZE"]["~VALUE"]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы