Архитектурные особенности и терминология

Возможности конструирования в среде Astra.CMS позволяют решать подавляющее большинство задач возникающих перед веб-разработчиком. При этом как правило не требуется вмешательство в исходные коды скриптов, достаточно представлять возможности каждого из расширений и иметь навыки их использования при конструировании нужного сайта. Каждый сайт может иметь индивидуальную структуру, кирпичиками для строительства которой являются экземпляры расширений. Для конструирования доступны необходимые инструменты быстрого создания, изменения или добавления компонентов сайта. Они доступны администратору сайта в меню «Сайт» панели управления.

Расширения

Расширения условно разделяются на три типа: модули, плагины, блоки. Следует отметить, что факт установленного расширения еще не означает его активность и присутствие на сайте. Их следует воспринимать как некоторое хранилище или библиотеку готовых функциональных решений. Добавлять те или иные возможности следует уже созданием экземпляра конкретного расширения. Кроме того, структурные особенности Astra.CMS позволяют размножать подобные экземпляры в любом необходимом количестве. Так же это позволяет собрать сайт с именно тем набором компонентов который нужен, как результат - более наглядная навигация в панели управления, не перегруженная ненужным функционалом.

Модули

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

Посмотреть все доступные модули.

Плагины

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

Посмотреть все доступные плагины.

Блоки

Блоки служат для вывода определенных данных на любых страницах сайта. Он может быть ассоциирован с данными определенного раздела, или иметь свою природу данных для вывода. Располагаться блоки могут на любых типах страниц, от любых модулей. Могут быть упорядочены в условные массивы колонок (левые, правые), либо вставляться непосредственно в шаблон выбранной страницы.

Посмотреть все доступные блоки.

Экземпляры расширений

Это уже описанные выше: разделы, дополнения, блоки. Из них собирается сайт именно с той организацией данных и внешнего представления – что требуется. Произвольное комбинирование этих компонентов позволяет создавать и легко расширять любые сайты.

Типы страниц

Каждый модуль и, как следствие, его экземпляр – раздел, имеет определенный набор типов страниц. За каждым типом закреплен шаблон, который описывает вывод данных на странице.

Пример

Например, модуль "Каталог материалов" имеет 3 типа страниц:

termin1.jpg

В предложенной выше блок-схеме, показана ситуация, когда на базе Модуля 1, создано два раздела, у каждого из которых — три типа страниц. На базе Модуля 2 создан один раздел. Имеющийся блок – отображается на выбранных типах страниц.

Рассмотрим такую ситуацию на конкретном примере.

termin2.jpg

Модуль "Каталог материалов" несет в себе функциональность, позволяющую организовывать иерархические каталоги произвольного формата. Он подходит для создания таких разделов как «Cтатьи» и «Новости».

Модуль "Обратная связь" несет в себе функциональность отправки данных из формы на сайта на заданный email. Он подходит для организации таких разделов как «Контакты» или специальные формы заказа.

Установка дополнительных расширений, создание новых разделов, блоков, их интеграция в тему дизайна, происходит только средствами панели управления. Вмешательство в исходный код расширений, может потребоваться только в уникальных проектах или особых случаях.

Конфигурации

Под понятием конфигурации сайта, здесь понимается собственно уже готовый сайт, с определенной структурой разделов, данными, файлами, шаблонами представления, а так же расширениями не входящими в стандартный состав дистрибутива. Конфигурация сайта хранится в одном файле и может быстро импортироваться на установленной системе Astra.CMS. Экспортировать существующий сайт в файл конфигурации так же предельно просто. Это позволяет сохранять заготовки различных сайтов, чтобы потом максимально быстро создавать новые сайты. Например можно один раз собрать определенного вида интернет магазин, сохранить его, и далее только менять дизайн на уровне шаблонов.

termin3.jpg

Импорт конфигурации в уже существующий сайт, может полностью заменить в нем данные на уровне базы данных, шаблоны представления и пользовательские файлы. Таким образом, как правило, конфигурация импортируется на этапе установки нового сайта или, например, для быстрого переноса разрабатываемого сайта из локального расположения на сервер в интернете.

Шаблонизатор и шаблоны

Архитектура Astra.CMS подразумевает разделение логики формирования данных и логики представления. За формирование наборов данных для типов страниц отвечают модули. После распознавания адреса страницы и определения ее принадлежности разделу и типа, происходит формирование определенного набора данных, который уже передается шаблонизатору.

В качестве шаблонизатора используется Smarty имеющий очень мощный и гибкий язык шаблонов, который расширен многими дополнительными инструкциями. Наборы данных для каждого типа страниц детально описаны в отдельных руководствах для расширений.

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

 
architecture.txt · Последние изменения: 01.10.2016 23:27 (внешнее изменение)