В сети очень мало информации, связанной с процессом привязки шаблонов. Особенно это касается использование типа условия
"Выражение PHP".
Данный тип применяется тогда, когда мало функций привязки для папок и файлов. Самый простой пример - привязка одного шаблона к нескольким разделам сразу. Чтобы не плодить список привязок, достаточно создать одну привязку по выражению PHP и вписать туда следующее:
CSite::InDir('/news/') || CSite::InDir('/events/') || CSite::InDir('/media/')
Как видно из этого примера, мы просто несколько раз применяем метод API Битрикса
CSite::InDir и разделяем их логическим оператором
"ИЛИ" (обозначается ||).
Ещё вариант, который часто используется - это регулярные выражения. Их можно использовать с регулярным выражением и функцией
preg_match(), например:
preg_match("#^/dpo/([a-zA-Z]+)\.php.*#", $APPLICATION->GetCurPage(true));
Что в данном случае происходит? Проверяется условие: в корне сайта должна находиться директория
/dpo/, в которой должны быть файлы с расширением .php и названием, состоящим только из букв латинского алфавита. Если человек попал на страницу, которая отвечает данному условию, то шаблон подгружается.
Резюмируя, стоит добавить, что можно писать любую привязку отвечающую следующей конструкции:
if(#Условие# === true).