Передать переменные в шаблон
Глобальная переменная
Чтобы сделать переменную доступную из любого места кода, можно использовать файл bitrix/.settings.php.
# bitrix/.settings.php return array ( // … 'contacts' => array( 'value' => array( 'phone' => '111111111', 'email' => 'example@know-online.com', ), ), // … )
Теперь можно обратиться к свойству «contacts» через следующий код:
$contacts = \Bitrix\Main\Config\Configuration::getValue("contacts"); $contacts['phone']; // 111111111 $contacts['email']; // example@know-online.com
Переменные для указанного раздела
Создать переменные, которые будут доступны в указанном разделе, можно через razdel_name/.section.php.
// .section.php $arDirProperties = array( 'engine' => 'Битрикс', );
К данному свойству можно обратиться через следующий код:
$APPLICATION->GetDirProperty('engine'); // Битрикс
Также данное свойство можно изменять в настройках раздела:
Файл «.section.php» можно создать в главной директории сайта, тогда её переменные будут доступны во всех PHP-файлах.
Изменить значение передаваемого свойства можно через метод $APPLICATION->SetDirProperty()
:
$APPLICATION->SetDirProperty('engine', 'Битрикс 15');
Передать переменные в шаблон только для текущей страницы
В начале любой страницы с контентом можно вставить метод $APPLICATION->SetPageProperty()
.
$APPLICATION->SetPageProperty('city', 'Москва');
В результате в свойствах страницы будет доступен новый параметр «city», который можно будет изменить.
Значение к свойству страницы можно получить через метод $APPLICATION->GetPageProperty()
.
$APPLICATION->GetPageProperty('city'); // Москва
Также может использоваться метод $APPLICATION->GetProperty()
, который в случае отсутствия указанного свойства, проверяет наличие данного свойства у родительских разделов.
Поддержать автора