Глобальные переменные доступные в шаблоне компонента result_modifier.php
задаются вначале файла и появляется их автокомплит в PhpStorm.
Ниже представлен пример дополнительного файла шаблона компонента result_modifier.php
, который предназначен для дополнения основной логики компонента вашей пользовательской и только на уже скопированном шаблоне этого компонента.
Дополненный здесь массив $arResult
будет доступен и в файле template.php
где пишется html-вывод и оба этих файла будут кэшироваться системой, если включено кэширование.
<?
/**
* Bitrix vars
*
* @var CBitrixComponentTemplate $this
* @var array $arParams
* @var array $arResult
*
* @var CDatabase $DB
* @var CUser $USER
* @var CMain $APPLICATION
*/
use Bitrix\Main\UserTable;
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
die();
//$this - объект шаблона
//$component - объект компонента
//$templateFolder = $this->GetFolder();
//$component = $this->getComponent();
//Другие варианты
//$this->__folder
//$component = $this->__component;
$component = $this->__component;
$arResult['USER'] = array();
if($userId = $arResult['CREATED_BY']) {
$arUser = UserTable::getRow(array(
'filter' => array('=ID' => $userId),
'select' => array('ID','EMAIL','NAME','LAST_NAME','PERSONAL_PHOTO','PERSONAL_NOTES'),
'limit' => 1
));
$arResult['USER'] = $arUser;
$arResult['ADMIN_EMAIL'] = $arUser['EMAIL'];
}
if(is_object($component)) {
$component->SetResultCacheKeys(array('ADMIN_EMAIL'));
}