Скорее всего в SECTION_ID должен передаваться числовой идентификатор (ID), а не символьный. Чтобы ссылки были с символьным идентификатором, ваш скрипт должен делать выборку по символьному коду, а не по ID.
Антон Герасимюк пишет: Чтобы ссылки были с символьным идентификатором, ваш скрипт должен делать выборку по символьному коду, а не по ID.
Замечательный ответ программиста для программиста, а что делать не программисту?
В faq-е есть прекрасный вопрос:
Цитата
Вопрос: Как настроить ЧПУ без использования числовых идентификаторов (ID)?
и не менее прекрасное начало ответа:
Цитата
Для хранения идентификаторов элементов/разделов информационных блоков удобнее всего использовать поле "Символическое имя". Например, в ссылке www.myserver.ru/catalog/mobile/nokia_3310/ 'mobile' - это символическое имя группы "Мобильные телефоны", а 'nokia_3310' - символическое имя элемента, находящегося в группе "Мобильные телефоны".
Отлично, это как раз то, что нужно.
Но дальше, где в тексте найти как это осуществимо? Автор зачем-то рассказывает, как разобрать какую-то переменную для ссылки
Код
www.myserver.ru/users/<Логин пользователя>
простите, но где здесь замена цифр, получаемых из ID на нужное нам символическое имя???
Далее еще хлещще, в первом примере получаем ссылку
Код
/about/news/23.html
из ссылки
Код
/about/news/detail.php?ID=23
Но с поддержкой ЧПУ такие ссылки и так работают.
В примере втором создаем идентификатор, это имеет какое-то отношение к:
Цитата
Вопрос: Как настроить ЧПУ без использования числовых идентификаторов (ID)?
Да и вообще, судя по дате написания этого faq-а ф форуме, писалься он еще до поддержки чпу в Битриксе.
А вопрос-то, насколько я понимаю, для программиста - дело двух минут.
Цитата
Чтобы ссылки были с символьным идентификатором, ваш скрипт должен делать выборку по символьному коду, а не по ID.
Что мы имеем. 1. Меню для разделов инфоблока формируется в файле .left.menu_ext.php и имеет содержание:
Теперь у меня вопросы (предупреждаю - я не разработчик - я дилетант).
В админке сайта уже есть для нужных элементов поле ввода "символьный код" - я так понял его надо заполнят тем именем, которое требуется выводить в урле и на которое страница должна откликаться. тут -
Например есть страницы фирм, вида www.*****.ru/firms/2233/ - а надо привести к www.*****.ru/firms/nokia/.
Я так понимаю все что нужно это изменить файл /urlrewrite.php который в корне сайта?
И тогда например для раздела в RULE вместо "sid=$1" вписывается "#SECTION_CODE#":
У меня вопрос такой. Во всех разделах работает штатное ЧПУ, которое превращает "абракадабру" в структурированные адреса соответствуя инфоблокам. В принципе это устраивает кроме одного инфоблока, где на детальной странице хотелось бы чтобы был не ID а символьный код. По логике вещей: 1) выставил в настройках инфоблока, авто создание символьного кода в транслите 2) там же в настройках инфоблока , URL детальной страницы сменил
Код
#ID#
на
Код
#CODE#
Но что-то никак не запускается. Может кто подскажет где я не там пошел????
Не , ну вы и извращенцы. А галочка "Включить поддержку ЧПУ" в настройках компонента уже никого не устраивает? Одна галочка и будет у вас вместо ссылки вида сайт.ру/раздел/detail.php?CODE=ЧПУ ссылки вида сайт.ру/раздел/ЧПУ Чтобы у вас вместо id в ссылках использовался символьный код надо после того как галочку "Включить поддержку ЧПУ" поставите и в ссылках правите - заменяете #ELEMENT_ID#/ на #ELEMENT_CODE#.html
Далее в настройках нужново вам ИБ в свойствах элемента ставите генерацию символьного кода из заголовка элемента. + в тех же настройках ИБ пишете эдентичные ссылки что и в компоненте - чтобы потом поиск правильно ссылся на найденный текст из ваших элементов а не на 404 ошибку.
Настройки нужного ИБ, закладка поля & поля разделов, снизу символьный код