Автор: Р.С. Кутелёв, А.В. Григорьев
Источник: Донецкий национальный технический университет: Сборник материалов VI Международной научно-технической конференции Современные информационные технологии в образовании и научных исследованиях СИТОНИ-2019 – г. Донецк: ДонНТУ, 2019. – с.309–316,[Ссылка]
Аннотация: В статье рассмотрены современные CMS. Выполнен анализ назначения и методов построения шаблонов. Рассмотрены программы для работы с шаблонами.
Ключевые слова: CMS, сайт, шаблон, база знаний, структура.
Современные сайты ушли далеко вперед по сравнению с более простыми собратьями из прошлого десятилетия. Полноценный сайт с серьезным набором возможностей проблематично написать с нуля
, поэтому программистам во многом помогает CMS, более известная как движок.
CMS — это система управления контентом, набор скриптов для создания, редактирования и управления контентом сайта. Примерами CMS являются WordPress, Joomla, PrestaShop.
Актуальность исследования шаблонов систем управления сайтом обусловлена необходимостью автоматизировать процесс работы с сайтом, создания и настройки сайта.
Цель исследования - анализ механизмов построения шаблонов и выявления перспектив развития интеллектуальных систем для создания шаблонов.
Существует множество различных CMS: WordPress, Joomla, 1C Битрикс, Drupal, OpenCart, MODX , Magento, ImageCMS, TYPO3, Made Simple, Concrete5 . Рассмотрим самые популярные из них.
WordPress - самая популярная и одна из самых мощных CMS в мире. Система обычно используется для создания блогов и информационных порталов, но с помощью плагинов на нём можно построить хоть интернет- магазин [1].
Joomla - вторая по популярности CMS. Универсальная система, функциональность которой расширяется с помощью плагинов. Это позволяет использовать ее для создания самых разных сайтов: от простых визиток до больших информационных ресурсов с миллионной посещаемостью [2].
Drupal - Мощный инструмент, ориентированный на разработчиков и позволяющий создавать сложные сайты [3].
|
Drupal |
Joomla |
WordPress |
Примеры сайтов, работаю- щих на CMS |
Film.ru, dru.io, sbis.ru, nsportal.ru |
Joomla.org, Rockettheme.com, ITWire.com, Thaindian.com |
Sonymusic.com, Mercedes- benz.com, Blog.us.playstation. com, Thewaltdisneycompany.com, Techcrunch.comLifehacker.ru |
Установка |
Форум Drupal.ru |
Открытая база знаний Joomla |
С чего начать — ru.wordpress.org |
Простота использо- вания |
Drupal наиболее требователен к технической осведомленности пользователя, что окупается самыми широкими возможностями при создании сайтов. |
Проще Drupal, сложнее WordPress. Относительно простая установка и настройка в совокупности с нетребовательностью к затратам времени на понимание структуры и терминологии дают возможность самостоятельно построить весьма сложный сайт |
Технические знания в данном случае совсем не обязательны. WordPress простая и интуитивная. С ее помощью можно чрезвычайно быстро создать простой сайт. Также WordPress привлекает возможностью без труда переносить текст из текстовых документов на сайт, чем не могут похвастать Drupal и Joomla |
Особенности |
Система известна своей мощной таксономией и возможностями по разметке, категоризации и организации сложного контента |
Система разрабатывалась в качестве платформы для сообществ с акцентом на социальные функции |
Простота является ключевым преимуществом. Многообразие в сочетании с обилием инструкций и простотой управления делают WordPress идеальной для технически не подготовленных пользователей |
Плагины для кэширова ния |
Pressflow — готовая сборка Drupal, доступная для загрузки. Включает в себя несколько предустановленных улучшений, в том числе нацеленных на улучшение производительности сайта |
JotCache позволит оптимизировать выдачу поисковых запросов по сайту, а также дает возможность указать контент, который будет кэшироваться, и исключить из кэша ненужное. |
WP Super Cache — плагин, оптимизирующий производительность сайта путем генерации статичных HTML-файлов из получаемого из баз данных контента |
Оптима- льные сценарии использо- вания |
Комплексные продвинутые сайты, требующие сложной организации данных. Платформы для больших сообществ, онлайн- магазины |
Сайты с достаточно гибкой структурой, создание которой было бы проблематично из-за ограничений WordPress. Электронная коммерция, социальные площадки |
Блоги, новостные сайты и другие форматы, требующие наличия возможности быстро и легко добавлять контент. При необходимости недостающая функциональность добавляется с помощью аддонов |
Рассмотрим структура современных CMS на примере Joomla (рис. 1).
Верхний, Уровень расширений:
Средний, уровень Приложения. Основа этого уровня - абстрактный класс "JApplication", который расширяется за счет четырех основных классов:
Последний, уровень ядра - это не что иное как каркас нашей CMS:
Структуру современных шаблонов рассмотрим на примере Joomla и Drupal.
Все шаблоны CMS Joomla используют типовую структуру каталогов и файлов, однако она может несколько варьироваться от шаблона к шаблону.
Типичный шаблон CMS Joomla должен включать следующие каталоги:
В зависимости от сложности и дизайна, в каталоге шаблона может лежать папка: javascript, которая содержит поддерживающий JavaScript, используемый шаблоном для добавления ему функциональности.
Пример структуры с файлами представлен на рис. 2.
На рис. 3 представлена структура, где чётко можно увидеть зависимость элементов шаблона.
Следует понимать, что Drupal в первую очередь ищет шаблоны в самой теме. И, если находит, подключает его по умолчанию.
По умолчанию все шаблоны находятся в ядре cms, в папке modules.
Файл с описанием темы ( .info) - это файл описывающий имя темы, которое будет видно при работе с сайтом, а так же имя файла, которое будет использоваться для вызова функций темы.
Файлы шаблонов (. tpl.php) – эти шаблоны используются для (X)HTML разметки и вывода PHP переменных.template.php - данный файл используется как площадка для написания php кода. Остальные файлы - обычно в теме присутствуют логотип, скриншот и иконки.
Рассмотрим пример создания шаблона на примере Joomla.
Для создания шаблона необходимо создать следующие папки и файлы: css — директория со стилями шаблона.
template.css — файл внутри каталога css, который будет содержать каскадные таблицы стилей. В больших шаблонах файлов *.css в папке гораздо больше.
index.php — собственно, сам шаблон.
templateDetails.xml — наиважнейший и обязательный файл, он содержит описание темы оформления.
Такова минимальная комплектация темы, папка с вашим шаблоном должна содержать всё перечисленное. Разметка файла templateDetails.xml представлена на рис. 4.
Код файла index.php представлен на рис. 5.
Themler это новая программа для веб-дизайна, создания шаблонов для популярных CMS или статичных HTML сайтов от разработчиков программы Artisteer. Программа является самостоятельным продуктом, и не связана функционально с Artisteer [5].
Themler имеет несколько версий, главное отличие которых, возможность создавать шаблоны для разного количества CMS. Есть версии Themler в которых доступно создание шаблонов для некоторых популярных магазинных движков.
Интерфейс Themler дружественен и интуитивно понятен. Однако по сравнению со своим предшественником эта программа несколько сложнее, так как имеет гораздо больше возможностей.
Программа предоставляет графический режим взаимодействия, что одновременно является достоинством и недостаткам. Они автоматически генерируют весь исходный код, который может требовать дальнейшей доработки.
В данном работе был проведено исследование шаблонов наиболее популярных CMS. Ярким представителем программ для работы с шаблонами является Themler. Следующим шагом развития данной программы могла бы стать система для создания интеллектуального паттерна разработка шаблонов. Данная система могла бы иметь базу знаний для шаблонов. Это позволило бы более гибко настраивать выбранные шаблоны. Позволило бы облегчить создание новых шаблонов, снизить требования для конечного пользователя. Например, пользователь выбирает определенный тип заголовка для страницы. Система строит дерево решений, выводит подходящие результаты, но указывает, что к данному типу заголовка наиболее подходит такой тип оформления, структура и т.д. Далее пользователь хочет создать основной текст страницы. Система снова строит дерево решений и выбирает наиболее подходящую структура и оформление с учетом предыдущего выбора. Такая система позволила бы облегчить создание новых шаблонов, снизить требования для конечного пользователя. В перспективе возможна доработка плагина для существующей системы CMS с применением базы знаний, дерева шаблонов.