۞ → Читать Урок Создание модуля в Drupal 7.

Опубликовано: 08.10.2017

Для начала мы создадим простой модуль, а затем углубимся в теорию применяя её для расширения нашего модуля.

Модуль должен состоять как минимум из 2-х файлов:

1-й файл - это файл с раширением .info . Файл .info хранит в себе краткую информацию о модуле, доступную Drupal 7, даже когда модуль не установлен (название модуля, краткое описание модуля, версия модуля, список модулей от которых зависит наш модуль, и т.д.) 2-й файл - это файл с расширением .module . Файл .module по сути является исполняемым PHP-файлом и должен хранить в себе определение хуков и функции для работы модуля. На файл модуля .module накладываются все правила и ограничения аналогичные для PHP-скриптов.

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

Условимся, что наш разрабатываемый модуль называется " ramech ".

Рекомендую выбирать имена модулей состоящие только из латинских символов, без знака подчеркивания. Например из личного префикса (rm) и названия модуля: rmforum, rmusers.

Перейдите в папку " ./sites/all/modules ". Создайте папку " ramech ". В принципе название каталога ни на что не влияет. Drupal 7 при поиске модулей обращает внимание только на файлы .info, не зависимо от того в какой из под директорий находится файл .info. Создайте файл "./sites/all/modules/ramech/ ramech.info " следующего содержания: ;$Id$ name = Ramech module description = Simple module core = 7.x version = 7.x-1.0 Создайте пустой файл "./sites/all/modules/ramech/ ramech.module ". На странице Модули/Modules ("Главная » Управление » Модули"/"Home » Administration » Modules") установите флажок на против имени модуля "Ramech module" и нажмите "Сохранить настройки"/"Save configuration". После перезагрузки страницы на против модуля уже будет стоять флажок, указывая, что модуль установлен.

Теперь подробнее о сделанном.

Все модули, не относящиеся к ядру Drupal 7, должны хранится в папке ./sites/all/modules , если такой папки нет, создайте ее. Файлы модуля должны хранится в своей, определенной папке, под выбранным вами именем. Мы использовали имя "ramech". Это имя имеет важное значение, т.к. файл описания модуля (.info) и файл модуля (.module) должны иметь одинаковое название. В нашем случае ramech.info и ramech.module . Сама же папка может называться по разному: ramech, ramechv2, mymodule. Интересным подходом к хранению модулей является принцип разделения на свои модули и модули взятые с официального сайта drupal.org.

./sites/all/modules/contrib - тут хранятся папки с модулями с официального сайта drupal.org

./sites/all/modules/custom - тут хранятся папки с модулями разрабатываемые собственными силами или модифицированные модули с официального сайта drupal.org. Бывает и такое.

 

rss