Переменные компонента в Битрикс

Заметки программера переменные, доступные в компоненте 2.0

1. В файле component.php доступны (в файле самого компонента):

очевидные и постоянно используемые:
$arParams — параметры, чтение/изменение, затрагивает одноименный член класса компонента
$arResult — результат, чтение/изменение, затрагивает одноименный член класса компонента
$APPLICATION, $USER, $DB — все доступны, можно не объявлять их как global в файле component.php
$this — естественно ссылка на текущий вызванный компонент (объект класса CBitrixComponent), можно использовать все методы класса CBitrixComponent
дополнительные, локальные для удобства:
$componentPath — путь к вызванному компоненту от DOCUMENT_ROOT (пример: /bitrix/components/wexpert/iblock.list)
$componentName — имя вызванного компонента (например: wexpert:iblock.list)
$componentTemplate — шаблон вызванного компонента (например: «my_template»)
аналогичные значения, если компонент вызван в составе другого компонента, идут отсылки на родительский компонент:
$parentComponentPath
$parentComponentName
$parentComponentTemplate

2. В файле result_modifier.php доступны (в файле модификации шаблона компонента):

$arParams — параметры, чтение, изменение не затрагивает одноименный член компонента, но изменения тут отразятся на $arParams в файле template.php
$arResult — результат, чтение/изменение, затрагивает одноименный член класса компонента
$APPLICATION, $USER, $DB — как обычно, объявлять их как global избыточно $this — ссылка на текущий шаблон (объект, описывающий шаблон, тип CBitrixComponentTemplate)

3. В файле template.php доступны:

$arParams — параметры, чтение, изменение не затрагивает одноименный член компонента
$arResult — результат, чтение/изменение, затрагивает одноименный член класса компонента (ссылка на поле компонента)
$APPLICATION, $USER, $DB — как обычно, объявлять их как global избыточно
$this — ссылка на текущий шаблон (объект, описывающий шаблон, тип CBitrixComponentTemplate)
$templateName — имя шаблона компонента (например: «.dеfault»)
$templateFile — путь к файлу шаблона от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list/templates/.default/template.php»)
$templateFolder — путь к папке с шаблоном от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list/templates/.default»)
$componentPath — путь к папке с компонентом от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list»)
$component — ссылка на текущий вызванный компонент (тип CBitrixComponent)
$templateData — массив для записи, обратите внимание, таким образом можно передать данные из template.php в файл component_epilog.php, причем эти данные попадают в кеш, т.к. файл component_epilog.php исполняется на каждом хите.

4. В файле component_epilog.php (эпилог компонента) доступны:

$arParams — параметры, чтение, изменение не затрагивает одноименный член компонента
$arResult — результат, чтение/изменение не затрагивает одноименный член класса компонента
$APPLICATION, $USER, $DB — аналогично, эта «троица» доступна
$componentPath — путь к папке с компонентом от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list») $component — ссылка на $this, читай на строку ниже
$this — естественно ссылка на текущий вызванный компонент (объект класса CBitrixComponent), можно использовать все методы класса CBitrixComponent
дополнительные, не явные в component_epilog.php:
$epilogFile — путь к файлу component_epilog.php относительно DOCUMENT_ROOT
$templateName — имя шаблона компонента (например: «.dеfault»)
$templateFile — путь к файлу шаблона от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list/templates/.default/template.php»)
$templateFolder — путь к папке с шаблоном от DOCUMENT_ROOT (напр. «/bitrix/components/wexpert/iblock.list/templates/.default»)
$templateData — обратите внимание, таким образом можно передать данные из template.php в файл component_epilog.php, причем эти данные закешируются и будут доступны в component_epilog.php на каждом хите!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *