Компонент – это функциональная сущность, которая управляет содержательной частью страницы. Целесообразность введения компонентов можно понять на следующем примере. Допустим, на сайте есть каталог товаров. Для каждого товара определено название, фото, описание и цена (на практике свойств зачастую гораздо больше). При добавлении или редактировании позиции товара (без использования компонентов) необходимо выложить изображение товара на сервер и ввести/отредактировать HTML-код товара. При использовании компонента «Каталог товаров» достаточно ввести значения в HTML-форму и закачать картинку через веб-интерфейс.
Кроме того, использование компонентов позволяет быстро и просто осуществлять следующие действия (на примере того же каталога товаров):
- поиск/выборку по базе товаров (NetCat содержит встроенные средства поиска по любым атрибутам – цена, название, категория и пр.);
- изменения в формате вывода позиций (достаточно изменить HTML-код в настройках компонента – и он изменится во всем каталоге);
- реализацию разных форматов вывода данных за счет альтернативной разметки (в зависимости от каких-либо параметров);
- проверку на правильность ввода (например, не допускать ввод букв в поле «Цена»);
- подключать новые функциональные возможности (например, заказ товара или покупку через платежную систему);
- реализовывать импорт/экспорт объектов (особенно это важно при больших объемах информации – имея на входе файл Microsoft Excel, можно получить готовый каталог товаров на сайте);
и т.д.
Система управления компонентами сочетает мощь и гибкость: с ее помощью можно реализовать огромный объем задач, в то же время она проста и удобна в использовании.
Для каждого компонента данных определяются:
1. Набор полей (например, для простейшего каталога товаров это может быть «Название», «Описание», «Картинка», «Цена»);
2. Шаблоны вывода содержимого страниц (4 шаблона: префикс, суффикс, макет вывода (для списка объектов) и макет полного вывода (если каждому объекту будет соответствовать своя отдельная страница);
3. Шаблоны различных действий (добавления/изменения, действия после добавления/изменения, подписки и пр.);
4. Действие по умолчанию (что пользователь видит при заходе на страницу: список объектов, веб-форму для добавления данных или их отправки, форму поиска по данным)
5. Пользовательские настройки (возможность конечному пользователю настраивать вид отображаемых данных без необходимости владения специальными навыками)
В составе NetCat поставляется большое количество готовых компонентов, но разработчик может создать и собственные компоненты. Несколько типов функциональных элементов, которые можно реализовать при помощи системы:
• Структурированный список: новости, статьи, фотогалереи, простые форумы, каталоги товаров и пр. Разработчик определяет состав полей и шаблон отображения, а формы добавления/изменения с проверкой валидности, удаление, листинг по страницам строятся автоматически. Конечный пользователь может настраивать параметры отображения
• Простые сервисные функционалы типа несложной системы показа баннеров, файл-менеджера, личных сообщений между пользователями
• Несложные интерактивные элементы: вопросы-ответы, гостевые книги, простые форумы и блоги, комментарии к материалам
• Комбинированные компоненты, например, новости с комментариями, отели с номерами и пр.
• Формы поиска по данным: по подстроке, диапазону значений для численных атрибутов, точное соответствие, выбор из списка
• Веб-формы (отправка на почту заполненной формы на почту, хранение и отображение введенных данных, статистика и пр).
Компоненты также применимы для тех случаев, когда списочный вывод не требуется. В этом случае используется один объект компонента «HTML-текст».
На одной странице могут быть использованы несколько компонентов, например, новость и комментарии посетителей к ней; список вакансий компании, выше которого указан вводный текст, а ниже – список менеджеров и т.д.