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-2025, «1С-Битрикс», 2025