Содержание:
1. Подробнее о шаблоне компонентов
2. Переменные для шаблона компонента
3. Шаблон для простого компонента Битрикс
4. Шаблон для комплексного компонента
5. Как подключить шаблон компонентов
6. Редакция шаблона компонента
1. Подробнее о шаблоне компонентов
В данной статье будут рассмотрены различные вариации и примеры установки шаблона компонентов в Битрикс. Для начала немного теории: шаблон компонента – это часть кода в программе, который преобразует информацию, которая, в свою очередь, была подготовлена компонентом в HTML (с английского – Hyper Text Markup Language – это язык гипертекстовой разметки, стандартный язык, благодаря которому осуществляется разметка интернет-страниц). Мало кому известно, что в системе 1С:Битрикс существует множество шаблонов помимо стандартных, например, в шаблоне навигации постранично вмещается целых пять видов шаблонов.
У шаблона компонентов существует два вида:
1. системные – они сразу связаны с компонентом и находятся в папке компонента Битрикс, под названием «templates»;
2. пользовательские – они подстроены под назначение конкретного сайта. Находятся данные шаблоны в папках «/local/templates/шаблон сайта/», но при копировании они переместятся и будут базироваться по пути: /local/templates/шаблон_сайта/components/namespace/название_компонента/название_шаблона.
Определителем шаблонов являются их имена, по умолчанию задано имя «.default». И, в случае отсутствия имени, вызывается именно вышеуказанный шаблон. Другие шаблоны могут иметь произвольное имя.
Шаблон компонента может являться как папками, так и файлами. В случае, когда шаблон не нуждается в переводе на иной язык, дополнении новыми стилями и прочих изменениях, есть возможность его нахождения внутри файла. В ином случае его необходимо сохранить внутри папки.
Шаблон компонента – это неразделимый целый объект, и когда следует поменять шаблон компонента по умолчанию для некого сайта, то его необходимо скопировать полностью в папку с шаблоном сайта Битрикс. Например, существует некий компонент «bitrix:main.site.selector» со своим шаблоном по умолчанию под названием «dropdown». Расположен он в папке компонента «templates». Если данный шаблон необходимо изменить под некоторый веб-сайт, то мы скопируем папку «dropdown» в папку по адресу: «/local/templates/шаблон_сайта/components/bitrix/main.site.selector/», после чего меняем шаблон согласно нашим предпочтениям.
Когда компонент подключается на страницу веб-сайта, право настройки по выводу вида шаблона остаётся за администратором.
2. Переменные для шаблона компонента
Подробнее рассмотрим переменные, которыми можно пользоваться для создания и редактирования шаблона компонента:
· $this – переменная, которая содержит ссылку на нынешний шаблон;
· $component – переменная, которая содержит ссылку на нынешний компонент (который вызвали);
· $templateFile – переменная, в которой указывается путь к шаблону;
· $templateFoldet – переменная, содержащая путь к папке с текущим шаблоном, начиная от «DOCUMENT_ROOT»;
· $templateName – переменная с именем шаблона компонента;
· $templateData – переменная, которая передаёт массив данных (эти данные попадут в кеш);
· $arResult – переменная с массивом, в котором содержаться результаты работы компонента;
· $arParams – переменная с массивом параметров, которые входят в компонент;
· $arLangMessages – переменная с массивом языковых сообщений в шаблоне;
· $componentPath – переменная, которая содержит путь к папке, в которой находится компонент от «DOCUMENT_ROOT».
Замечание: если используется PHP шаблон, то в нём есть глобальные переменные «$APPLICATION», «$USER», «$DB».
3. Шаблон для простого компонента Битрикс
Отдельно рассмотрим, какие файлы и папки будет содержать папка шаблона для простого компонента Битрикс:
· «/lang» – папка с файлами, которые относятся к переводам и языкам;
· «result_modifier.php» – это файл имеет при входе массив с результатами по работе компонента «$arResult» и массив с свойствами для вызова «$arParams»;
· «component_epilog.php» – это файл, который добавляется после того как шаблон был исполнен;
· «style.css» – это файл, который необходим для выбора стилей шаблона;
· «script.js» – файл для определения и подключения скриптов из JS;
· «.description.php» – это файл, в котором находится описание и имя шаблона для редактора по визуализации;
· «.parameters.php» – файл, имеющий в себе обзор добавочных входящих параметров для редактора по визуализации;
· «template.ext» – это файл, который, по-факту, и есть шаблон, он является обязательным;
· другие необходимые файлы и папки, вроде папки «image» (для картинок, которые нужны шаблону).
4. Шаблон для комплексного компонента
Далее опишем шаблон комплексного компонента: в нём будут содержаться такие же файлы и папки, как в простом компоненте, но ещё и дополнительные составляющие, а именно:
· шаблоны для простых компонентов (если они находятся в составе комплексного);
· простые компоненты (если они находятся в составе комплексного компонента), они подключаются в шаблонах по страницам.
5. Как подключить шаблон компонентов
Перед тем как подключить шаблон компонентов, необходимо указать <namespace>, название компонента и название шаблона. В начале ядро ведёт проверку наличия данного шаблона на конкретном сайте:
Рис. 1 Проверка наличия шаблона компонента
Шаблон компонентов подключается с помощью команды:
Рис. 2 Команда для подключения шаблона компонента
где $templatePage – это только для комплексного компонента, в ином случае – пустое место.
Пример комплексного компонента:
Рис. 3 Пример для комплексного компонента
Пример простого компонента:
Рис. 4 Пример для простого компонента Битрикс
6. Редакция шаблона компонента
Редактирование – это главный способ вывести шаблон из стандартных настроек и подстроить под конкретный сайт. Однако редактировать в системе управления Битрикс стоит только собственный шаблон (пользователя), иначе при первом обновлении в системе шаблон станет прежним.
Скопировать шаблон компонента можно при помощи команды «Копировать шаблон компонента», при этом режим «Правка» должен быть подключён. Во время копирования можно открыть форму, чтобы отредактировать шаблон компонента:
Рис. 5 Копирование шаблона компонента
Пример шаблона:
Рис. 6 Пример шаблона компонента
Специалист компании «Кодерлайн»
Айдар Фархутдинов