Определение компонента дано в Руководстве пользователя. С точки зрения разработчика, компонент – это совокупность:
• данных, хранящихся в таблицах базы данных MySQL
• описания структуры этих данных
• правил (шаблонов) их отображения, в т.ч. выборки и фильтров, сортировки, вариантов отображения в зависимости от каких-либо факторов, разбиения списочных данных на страницы и пр.
• шаблонов и правил добавления данных, их изменения, поиска по ним
Настройка компонента и его полей используется для определения структуры данных компонента, внешнего вывода страниц, использующих этот компонент, внешнего вида форм добавления и редактирования записей данного компонента (объектов), определения действий после добавления, изменения и пр. объектов.
Если к какому-либо разделу прикреплен некоторый компонент, например, с пятью полями, то:
- при добавлении или изменении записей в разделе будет показана форма, состоящая из этих 5 полей, а также необязательные системные поля: приоритет (не играет роли, если в настройках компонента заполнено поле «Сортировать объекты по полю», либо параметр сортировки переназначен каким-либо иным способом), признак включенного объекта (если он установлен, объект показывается на сайте, и наоборот), а также ключевое слово (оно используется для адресации страницы с полным выводом информации об объекте). Стандартную форму добавления/изменения можно переопределить в соответствующем шаблоне действий для этого компонента;
- страницы будут показаны в том формате, который определяется данным компонентом: сначала будет отображен префикс, потом список объектов в формате, определенном в шаблоне вывода объекта, затем суффикс;
- если в шаблоне вывода объекта предусмотрена ссылка на страницу полного ее вывода (выражение вида < a href=$fullLink>подробнее< /a> или < a href=$fullDateLink>подробнее< /a>), по этой ссылке для каждой записи будет показана страница с данной записью в формате, определенном в шаблоне полного вывода объекта;
- после добавления объекты будут появляться в разделе сразу (если установлен режим публикации после добавления) или после включения их (если установлен режим публикации после проверки);
- если количество объектов компонента превышает число объектов на странице, указанное в настройках этого компонента, объекты будут отображаться порциями; для листинга по страницам используются переменные $nextLink и $prevLink;
- если не определен порядок сортировки объектов, по умолчанию они сортируются по внутреннему параметру «приоритет», дате добавления (последние добавленные объекты показываются первыми).