ParseComponentPath
Описание и параметры
mixed ParseComponentPath( string folder404 , array arUrlTemplates , array & arVariables [, string requestURL] );
Метод служит для поддержки ЧПУ режима в комплексных компонентах. Статический метод.
Метод выясняет код шаблона пути комплексного компонента на основании папки, в которой работает компонент, массива шаблонов путей и текущей запрошенной страницы. Кроме того, этот метод восстанавливает те переменные, которые были заданы с помощью пути.
Параметры
Параметр | Описание |
---|---|
folder404 | Путь, в котором работает комплексный компонент в режиме ЧПУ. Этот путь передается во входном параметре $arParams["SEF_FOLDER"]. |
arUrlTemplates | Массив шаблонов путей комплексного компонента для режима ЧПУ. Этот массив задается в коде комплексного компонента и может полностью или частично переопределиться с помощью входного параметра $arParams["SEF_URL_TEMPLATES"]. |
arVariables | Переменная, в которой возвращаются восстановленные из запрощенного пути переменные (на основании найденного шаблона пути). |
requestURL | Запрошенный путь. По умолчанию равен $APPLICATION->GetCurPage(). Необязательный с версии 5.1.8. |
Возвращаемое значение
Если шаблон был найден, то возвращается его код, иначе возвращается пустая строка.
Смотрите также
Пример
// если массив шаблонов путей имеет вид $arUrlTemplates = array( "list" => "index.php", "element" => "#IBLOCK_ID#/#ELEMENT_ID#.php?SID=#SECTION_ID#" ); // входной параметр SEF_FOLDER равен /company/news/ // запрошенный адрес равен /company/news/15/7653.php?SID=28 // то после вызова метода $arVariables = array(); $page = CComponentEngine::ParseComponentPath($arParams["SEF_FOLDER"], $arUrlTemplates, $arVariables); // в переменной $page будет строка "element" // (код соответствующего шаблона) // а массив $arVariables будет иметь вид $arVariables = array( "IBLOCK_ID" => 15, "ELEMENT_ID" => 7653 )
Примечание. Путь должен быть без слэша, именно #IBLOCK_ID#/
, а не /#IBLOCK_ID#/
. Иначе вернет false.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024