Skip to content

Переменные, доступные в компоненте 2.0

Yuri edited this page Nov 6, 2015 · 1 revision

Переменные, доступные в компоненте 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 на каждом хите!

Clone this wiki locally