Добрый вечер!
Имеется меню из разделов ИБ, нужно сделать так что бы если заполнено пользовательское поле у раздела то осуществлялась бы подмена ссылки.
Нашел:
Все конечно работает, но ID тут получается из ссылки самой т.к. не включен режим ЧПУ, по этому тут конечно все просто и работает, а вот как получить ID если у меня ЧПУ включены?
Имеется меню из разделов ИБ, нужно сделать так что бы если заполнено пользовательское поле у раздела то осуществлялась бы подмена ссылки.
Нашел:
Код |
---|
<? //внутри цикла построения меню $uf_iblock_id = 1; //ID инфоблока $uf_name = Array("UF_PAGE_LINK"); //пользовательское поле UF_PAGE_LINK preg_match('/\?ID=([0-9]+)\&?/i', $arItem["LINK"], $matches); //SEF отключен, поэтому спокойно берем SECTION_ID из ссылки по шаблону ID=#SECTION_ID# $uf_section_id = $matches[1]; if(CModule::IncludeModule("iblock")): //подключаем модуль инфоблок для работы с классом CIBlockSection $uf_arresult = CIBlockSection::GetList(Array("SORT"=>"ASC"), Array("IBLOCK_ID" => $uf_iblock_id, "ID" => $uf_section_id), false, $uf_name); if($uf_value = $uf_arresult->GetNext()): if(strlen($uf_value["UF_PAGE_LINK"]) > 0): //проверяем что поле заполнено $arItem["LINK"] = $uf_value["UF_PAGE_LINK"]; //подменяем ссылку и используем её в дальнейшем endif; endif; endif; ?> |