Как всегда Дмитрий Пучков ничего особо полезного не сказал.
Если вам нужно в header.php темы использовать условно параметры страницы (заданные через $APPLICATION-> соответственно), мы можете поступить так:
возьмем например стандартную страницу index.php:
В этом случае в файле темы header.php (local/templates/some_theme/header.php) с параметром "SOME_PARAM" условно работать не получится, значения возможно только получить (и вевести) через отложенные функции, например
Если же вам необходимо использовать параметры страницы в условиях PHP, вы можете заменить конструкцию
на
и устанавливать параметры между этими строками
Например, измененный index.php будет выглядеть так:
и в этом случае в файле темы header.php
будут работать конструкции типа:
Текущая архитектура не позволяет сделать более красивого и простого решения.
Альтернативой, можно создать тип инфоблока "Страницы", добавить необходимые поля с большим вариантом по типам свойства, и привязать элемент к странице (можно так же через например кастомной свойство)
PS: за 10+ лет могли бы сделать сущности страниц и более элегантное решение для подобных задач
Если вам нужно в header.php темы использовать условно параметры страницы (заданные через $APPLICATION-> соответственно), мы можете поступить так:
возьмем например стандартную страницу index.php:
| Цитата |
|---|
| <? <? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php"); ?> $APPLICATION->SetTitle("Страница"); $APPLICATION->SetPageProperty("SOME_PARAM", "SOME_VALUE"); ?> Контент );?> <? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php"); ?> |
Если же вам необходимо использовать параметры страницы в условиях PHP, вы можете заменить конструкцию
| Цитата |
|---|
| require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php"); |
| Цитата |
|---|
| require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php"); |
Например, измененный index.php будет выглядеть так:
| Цитата |
|---|
| <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); $APPLICATION->SetTitle("Страница"); $APPLICATION->SetPageProperty("SOME_PARAM", "SOME_VALUE"); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php"); ?> Контент );?> <? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php"); ?> |
и в этом случае в файле темы header.php
будут работать конструкции типа:
| Цитата |
|---|
| <? if ($APPLICATION->GetPageProperty('SOME_PARAM') === 'SOME_VALUE'): ?> |
Текущая архитектура не позволяет сделать более красивого и простого решения.
Альтернативой, можно создать тип инфоблока "Страницы", добавить необходимые поля с большим вариантом по типам свойства, и привязать элемент к странице (можно так же через например кастомной свойство)
PS: за 10+ лет могли бы сделать сущности страниц и более элегантное решение для подобных задач