Научная статья на тему 'Модульная система Drupal'

Модульная система Drupal Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
214
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ УПРАВЛЕНИЯ КОНТЕНТОМ / МОДУЛЬНАЯ СИСТЕМА / CMS DRUPAL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зелинский Д.В., Москалева Ю.П.

В данной статье произведен анализ модульной системы Друпал, а также составлен список рекомендуемых модулей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Модульная система Drupal»

УДК: 004.031.42

Зелинский Д. В.

н/п «прикладная информатика» ГБОУВО РК «КИПУ»

Научный руководитель: Москалева Ю. П.

к.ф.-м.н., доцент ГБОУВО РК «КИПУ»

МОДУЛЬНАЯ СИСТЕМА DRUPAL

В данной статье произведен анализ модульной системы Друпал, а также составлен список рекомендуемых модулей.

Ключевые слова: системы управления контентом, модульная система, CMS Drupal.

Модули — это базовые блоки, которые образуют общую основу Drupal. В общей сложности они представляют собой механизм расширения стандартных возможностей основного ядра Drupal, который поставляется разработчиком. Благодаря модулям, и их сочетаниям представляется возможность создать уникальный и сложный проект с достаточно мощными возможностями.

В свою очередь они делятся на две основные категории — стандартные и дополнительные. Стандартные модули поставляются вместе с ядром Drupal и включают в себя такие модули как опросы, меню, поиск, раздел новостей, таксономия, форумы и т.д. Дополнительные модули — это те модули, которые были созданы вами или сообществом разработчиков, эти модули — позволяют расширить и усовершенствовать и даже оптимизировать функциональные возможности ядра Drupal. Просмотреть доступные модули, написанные сообществом, можно пройдя по адресу http://drupal.org/project/modules. Дополнительные модули охватывают довольно широкий спектр функционала, начиная от вывода информации (дата и время) и заканчивая сложнейшими решениями вроде интерфейсов для электронной коммерции.

Г Гыарв* nxrto&ftewMft J X1 ч Зйжграмв тевгсм v i АвБфЮб Ч Спвшилим J маег*

ФОРУМ* J ? * ЭеДОТИК«*** MsvrK, f \ иЛМ»» СООЫГНЙ - ( ч Рцвом» ч- '

J Б*ШК* утсш'ают иалеигэм к Л (--N Упрмпемие / \ VHfiMW —1 сымэшп -ч Гкалнмш «ж.

у--\ Поомэаим -ч. ииелшы -V Смшш* N / /■ ч Жусмаы

БмЬмотем общ» фумиий

Создание модуля

Для начала нужно определиться с именем создаваемого модуля. Назовем его, к примеру «Annotate». Далее нужно выбрать место для хранения модуля. По умолчанию,

дополнительные и собственные модули хранятся по следующему пути /sites/all/modules, причем каждый из хранящихся модулей имеет свой каталог, соответствующий его названию. Рекомендуется создать отдельный каталог для модулей, которые вы пишете сами, например — /sites/all/modules/mymodules. Далее нам нужно создать в этом каталоге подкаталог Annotate в нем будут храниться файлы, связанные с модулем. Самым первым файлом модуля будет Annotate.info. У каждого модуля для ядра Drupal должен иметься файл с расширением .info имя этого файла должно совпадать с именем модуля, который вы разрабатываете или используете. В этом файле хранится информация для распознавания ядром Drupal. Структура данного файла будет пример следующей: name = Annotate

description = "Allows users to annotate nodes." package = Pro Drupal Development core = 7.x

files[] = Annotate.module files[] = Annotate.install

configure=admin/config/content/annotate/settings Разберем подробнее дальнейшую структуру:

- Package — указывает на группу или пакет с которой будет связан модуль

- Name — указывает имя модуля на странице конфигурация модулей

- Description — указывает описание модуля на странице конфигурации

- Package — указывает на пакет или группу с которой связан модуль.

- Core — указывает на версию ядра Drupal

- Files — указывает на связь с фалами модуля

- Php — указывает на версию php

Также можно указать на наследование других модулей необходимых для работы модуля. Наследование оформляется следующим образом: dependencies[] = «имя модуля наследования».

Теперь можно приступать к созданию модуля, для этого нужно создать файл с именем Annotate.module в том же каталоге где создан первый файл. В начало этого файла нужно поместить открывающий заголовок php и идентифицирующий заголовок cvs.

После этих заголовков необходимо написать комментарий, который будет иметь вид:

<?php

/**

* @file

* Персональные аннотации

*

* При подгрузке узлов позволяет добавлять пометки при наличии соответствующих

прав

*/

Комментарии начинаются с символов «/**» и каждая последующая строка комментария должна начинаться с символа «*» закрывающая строка выглядит так: «*/». @file — указывает на то, что последующие строки будут описывать действие создаваемого файла.

Реализация системы обратных вызовов

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

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

Рассмотрим такую функцию, с её помощью выведем несколько элементов в меню администрирования. Внесем пункт аннотировать в меню администратора и добавим к нему пункт настроек, после щелчка, по которому будет выводиться окно с настройками аннотаций.

Листинг модуля:

/**

* Реализация обратных вызовов.

*/

function annotate_menu() { $items['admin/config/annotate'] = array( 'title' => 'Node annotation', // Аннотация узла

'description' => 'Adjust node annotation options.', // опции аннотаций узла 'position' => 'right', 'weight' => -5,

'page callback' => 'system_admin_menu_block_page', // обратный вызов страницы

'access arguments' => array('administer site configuration'), // проверка прав 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), );

$items['admin/config/annotate/settings'] = array( 'title' => 'Annotation settings', // Настройки аннотаций

'description' => 'Change how annotations behave.', // Смена характера аннотаций 'page callback' => 'drupal_get_form', 'page arguments' => array('annotate_admin_settings'), // аргументы для страницы

'access arguments' => array('administer site configuration'), 'type' => MENU_NORMAL_ITEM,

'file' => 'annotate.admin.inc',

);

return $items; }

Листинг, что приведен выше имеет следующую последовательность действий: если открыта страница http://e/?q=admin/settings/annotate/settmgs, то выполняется функция drupal_get_form() и производится идентификация формы annotate_admin_settings. Указатель этой формы искать следует искать в annotate.admin.inc. Затем производится проверка прав пользователя потому как эта функция видна только администраторам. В конечном счете, Drupal просканирует все модули на наличие определения формы, после чего будет сформирован список, из которого будет выбрана нужная функция для вызова формы.

Набор рекомендуемых модулей для Drupal

• Localization Update — модуль предназначен для автоматического скачивания и

последующей установки переводов для ядра Drupal

• Administration menu — расширенное и продуманное меню администратора, которое значительно удобнее стандартного меню.

• Module filter — модуль предназначен для удобной сортировки модулей по категориям в меню администратора.

• CKEditor — WYSIWYG редактор, предназначенный для работы с контентом на сайте в стиле (MS Word) без необходимости использовать html разметку.

• IMCE — файл-менеджер для работы с документами и изображениями которые находятся на сайте.

• Webform — страница контактов.

Вывод: Данная статья посвящена анализу модульной системы инструментария «Drupal», а также формированию пакета рекомендуемых модулей. Такой набор позволяет существенно облегчить разработку, повысить безопасность, а также обеспечить разработку, используя самые современные технологии системы.

Литература

1. Тодд Томлинсон. CMS Drupal 7: руководство по разработке системы управления веб-сайтом, 3-е издание Pro Drupal 7 Development, 3rd Edition. — М.: «Вильямс», 2011. — 560 с. — ISBN 978-5-8459-1743-0.

2. Мелансон Б., Нордин Д., Луиси Ж. Профессиональная разработка сайтов на Drupal 7. — СПб.: «Питер», 2013. — 688 с. — ISBN 978-5-4461-0054-5.

3. Алексей Черных. Drupal 7. — «Эксмо», 2011. — С. 208. — ISBN 978-5-699-47059-4

rus.

4. Колисниченко Денис Николаевич. Drupal 7. Руководство пользователя. — «Диалектика», 2011. — С. 256. — ISBN 978-5-8459-1717-1.

5. Ромашов В. CMS Drupal: система управления содержимым сайта. — СПб.: «Питер», 2010. — С. 256. — ISBN 978-5-49807-241-8.

6. Анжела Байрон, Эдисон Берри, Натан Хог, Джефф Итон, Джеймс Уокер, Дэвид Мерсер. Drupal 6. Создание надежных и полнофункциональных веб-сайтов, блогов, форумов, порталов и сайтов-сообществ = Building powerful and robust Websites with Drupal 6: Build your own professional blog, forum, portal or community website with Drupal 6. — «Вильямс», 2009. — С. 272. — ISBN 978-5-8459-1556-6 rus.

i Надоели баннеры? Вы всегда можете отключить рекламу.