Компонент – это функционал, который управляет содержательной частью страницы. Каждому типу данных (текст, изображения, новости, товары, факты и пр.) соответствует компонент. На уровне компонента определяется верстка блока компонентов и его элемента (новость, товар и пр.), структура данных (например, для новости это может быть заголовок, изображение, дата, текст) и несколько других свойств, о которых пойдет речь ниже.
Данные компонентов (все новости, статьи и пр.) хранятся в таблицах, которые называются MessageXX, где XX - ID компонента в системе. Структура данных каждой таблицы определяется полями компонента: например, для компонента "Новости" помимо обязательных полей в таблице MessageXX могут быть поля Name, Image, Date, Text.
С помощью функционала компонентов можно реализовать огромный объем задач, в то же время их просто и удобно использовать в работе редактора сайта.
У каждого компонента есть набор настроек и свойств:
- поля (например, для простого каталога товаров это может быть «Название», «Описание», «Картинка», «Цена»);
- шаблоны вывода содержимого страниц: шаблон вывода списка объектов (префикс, вывода элемента в списке и суффикс), а также макет полного вывода (если каждому объекту будет соответствовать отдельная страница);
- шаблоны действий: условия добавления и действия после него; то же для операций изменения, удаления;
- действие по умолчанию. Определяет то, что пользователь видит при заходе на страницу: список объектов, веб-форму для добавления данных или их отправки, форму поиска по данным;
- пользовательские настройки: инструмент для разработчика дающий возможность настраивать вид отображаемых данных конечному пользователю;
- шаблоны компонентов. Инструмент необходим для создания различных видов отображения компонента (например, на странице списка новостй один шаблон, на главной странице для вывода последних новостей - другой).
В составе Netcat поставляется большое количество готовых компонентов. На их примерах разработчики могут создавать свои уникальные компоненты либо подстраивать существующие под свои нужды.
Несколько типов функциональных элементов, которые можно реализовать при помощи компонентов:
- структурированный список: новости, статьи, фотогалереи, простые форумы, каталоги товаров и пр. Разработчик определяет состав полей и шаблон отображения, а формы добавления/изменения с проверкой валидности, удаление, листинг по страницам строятся автоматически. Конечный пользователь может настраивать параметры отображения;
- простые сервисные функционалы типа несложной системы показа баннеров, файл-менеджера, личных сообщений между пользователями;
- несложные интерактивные элементы: вопросы-ответы, гостевые книги, простые форумы и блоги, комментарии к материалам;
- комбинированные компоненты, например, новости с комментариями, отели с номерами и пр.;
- формы поиска по данным: по подстроке, диапазону значений для численных атрибутов, точное соответствие, выбор из списка;
- веб-формы (отправка на почту заполненной формы на почту, хранение и отображение введенных данных, статистика и пр).
Компоненты также применимы для тех случаев, когда списочный вывод не требуется. В этом случае используется один объект компонента «HTML-текст».
На одной странице могут быть использованы несколько компонентов, например, новость и комментарии посетителей к ней; список вакансий компании, выше которого указан вводный текст, а ниже – список менеджеров и т.д.
Управление компонентами осуществляется в административном разделе: разработка → компоненты.