Компоненты используют для отображения информации на страницах сайта. Для формирования логики вывода информации на сайте, компоненты размещаются и в главном шаблоне сайта и в шаблонах самих же компонентов.
Главный шаблон сайта
В главном шаблоне сайта (файл "index.tpl"), компонент представлен ввиде парного html тега, и имеет вид:
<component id="list" class="List"></component>
Каждый тег имеет атрибуты:
- id Идентификатор компонента, используется для хранения информации о компоненте (универсальный для каждого компонента);
- class Класс компонента, определяет какой компонент установлен и какой ему шаблон соответствует;
- path Путь к компоненту. Если компонент не зарегистрирован в списке компонентов, но находится в каталоге компонентов на сервере, его можно вызвать указав атрибут «path»;
- template В каждом компоненте указан шаблон по умолчанию если на сайте находятся одинаковые компоненты, то они должны иметь разные шаблоны. Каждый шаблон компонента соответствует определенной теме и находится в каталоге "application/templates/{название темы}/{шаблон компонента}.tpl.php". Шаблон можно изменять с помощью компонента "Шаблоны сайта" панели управления сайтом.
- for Атрибут проверки «условия» компонента (если компонент необходимо скрыть или показать), имеет значение:
- user - проверка пользователя;
- page - проверка текущей страницы;
- url - проверка url адреса текущей страницы;
- date - проверка текущей даты;
- domain - проверка название домена;
- category - проверка текущей категории;
- for-data Атрибут проверки значение на совпадение (зависит от атрибута «for»):
- если for="user" - for-data имеет значение "signin" (пользователь авторизирован), "no" (пользователь не авторизирован).
Пример: <component id="list" class="List" for="user" for-data="signin"></component> (список будет доступен для авторизированных пользователей); - если for="page"
- for-data имеет значение "index" (главная страница),
- for-data-no имеет значение "index" (не главная страница);
Пример: <component id="list" class="List" for="page" for-data-no="index"></component> (список будет отображаться на всех страницах кроме главной); - если for="url" - for-data указывают url адрес страницы, на которой будет отображаться компонент
Пример: <component id="list" class="List" for="url" for-data="/folder1/folder2/file.html"></component>; - если for="date" - for-data указывают дату в формате "дд-мм-гггг", если будет совпадение дат, компонент будет отображаться
Пример: <component id="list" class="List" for="url" for-data="/folder1/folder2/file.html"></component>; - если for="domain" - for-data имеет значение "all" или название домена.
Пример: <component id="list" class="List" for="domain" for-data="domain.com"></component>; - если for="category" - for-data указывают идентификатор категории статьи
Пример: <component id="list" class="List" for="category" for-data="1"></component>;
- если for="user" - for-data имеет значение "signin" (пользователь авторизирован), "no" (пользователь не авторизирован).
Шаблон компонента сайта
В шаблоне компонента сайта (файл "{шаблон компонента}.tpl.php"), компоненты имеет вид:
<?php Gear::component("List", array( "template" => "list.tpl.php" )); ?>
Описание: Gear::component(string $class, array $params)
- $class Название класса компонента
- $params Параметры вывода соответсвуют атрибутам компонента (у кжадого компонента свой "набор" параметров):
- id - идентификатор компонента
- path - путь к компоненту
- template - шаблон компонента
Список установленных по умолчанию компонентов в системе управления сайтом Gear CMS, начиная с версии 3.2.