Search Documentation

Структура Cobalt

##Что такое конструктор контента

Вероятно, сначала необходимо определить, что такое “Конструктор контента” для Joomla.

В Joomla существует несколько заранее определенных видов информации, одним из которых является Материал (или Статья). Когда Вы добавляете новую статью, Вы вводите необходимую Вам информацию в несколько полей ввода данных (например Заголовок, Описание, Автор) и устанавливаете несколько параметров отображения этой статьи. И в зависимости от установленных параметров Вы видите на сайте введенную в поля ввода информацию.

Так вот, Материал является типом контента, а поля ввода и параметры- это конкретные поля типа контента под названием Материал.

Как уже говорилось выше, в Joomla набор типов контента и, соответственно, полей, жестко определен. Это означает, что если Вам необходимо иметь некоторую дополнительную информацию в Материале, необходимо использовать дополнительные расширения в зависимости от Ваших запросов. Если сайт достаточно сложный, таких расширений может потребоваться большое количество. Т.е. стандартные средства Joomla не позволяют создать необходимый нам тип контента.

И вот тут на помощь приходят конструкторы контента– специальные приложения (или компоненты), позволяющие создавать необходимые нам типы контента.

Существует два основных вида конструкторов контента (CCK- content construction kit):

  1. В которых Поля являются свойством Раздела.
  2. В которых Поля являются свойством Типа контента, а Тип контента, в свою очередь, уже является свойством Раздела.

Cobalt относится ко второму виду.

В свою очередь, CCK для Joomla тоже подразделяются на 2 вида:

  1. Построенные на основе контента Joomla (com_content). Такие CCK встраиваются в Joomla и используют ее таблицы, расширяя их до необходимой функциональности, например Seblod.
  2. Независимые конструкторы контента. Эти CCK создают в базе данных собственные таблицы и работают только с ними, например Cobalt, ZOO, K2.

Более подробно по вопросу можно почитать здесь

##Основные элементы CCK Cobalt

CCK Cobalt стоит на трех китах:

  • поля
  • типы контента
  • разделы и категории

###Поля

Поле- это основа любого CCK. Поле – это единица данных. Представьте себе форму добавления статьи в Joomla. Все элементы, которые вы можете заполнить или изменить, являются полями. Это и название статьи, и ее описание, и уровень доступа, и параметры ее отображения.

По аналогии с реляционными базами данных, поле Cobalt можно с определенным приближением рассматривать как поле реляционной базы данных.

Cobalt имеет большое количество разнообразных типов полей, например текст, список, radio, checkbox и многие другие. Все конкретные поля строятся на базе этих типов полей, т.е. тип поля- это шаблон для создания конкретного поля.

Поля– это кирпичики, из которых строится все остальное.

Cobalt позволяет создавать неограниченное количество полей и сохранять их в базе данных.

Конкретное поле (не путать с типом поля) является свойством определенного типа контента.

###Типы контента Тип контента– это набор полей, предназначенных для решения определенной информационной задачи (ведь основная задача сайта- ввод и отображение различной информации).

Например, материал Joomla- набор полей для публикации статей, позволяющий публиковать статьи на сайте.

Тип контента позволяет:

  • добавлять контент определенной структуры на сайт

  • отображать этот контент на сайте

  • структурировать этот контент

Тип контента является свойством одного или нескольких разделов.

Так как поля являются свойствами определенных типов контентов, управление полями и типами контента осуществляется в одном месте Компоненты -> Кобальт -> Типы статей

###Разделы и категории Разделы предназначены для логического структурирования информации. Количество разделов не ограничено.

Разделы могут включать в себя неограниченное количество категорий и подкатегорий любого уровня вложенности.

Для наглядности будем рассматривать структуру этого сайта. На нашем сайте основными разделами являются Блог, Документация (База знаний -> Документация), Видео уроки (База знаний -> Видео уроки) и Форум (Сообщество -> Форум).

Для каждого раздела возможно определить один (однотиповые или просто разделы) или несколько типов контента (многотиповые разделы).

Например, Блог, Документация и Видео уроки являются однотиповыми Разделами, т.е. каждому из них назначен только один тип контента, который Вы и сможете добавить в этот Раздел. А вот Форум- это многотиповый раздел, т.к. ему назначено несколько Типов контента (Тема, Задача и пр.). Это значит, что в раздел Форум можно добавить любой из этих типов контента.

И наоборот, один и тот же тип контента может быть назначен нескольким разным разделам.

Для каждой Категории можно ограничить количество типов контента. Это означает, что из всех типов контента, назначенных для раздела, для каждой категории этого раздела можно выбрать только необходимые для этой категории типы контента (несколько тяжелая фраза, но мне кажется, что так более понятен ее смысл).

Например, раздел Форум имеет несколько категорий: Общие вопросы, Сайты на Cobalt, Фриланс. Для Категории Общие вопросы назначен только Тип контента Тема, а для Категории Фриланс- только Тип контента Задача.