• урок
  • pantey

Пишем собственный модуль для Drupal 7

11.07.2012

При поднятии сайта на Drupal, встречаются ситуации, когда функционал предоставляемый нам модулями – не всегда удовлетворяет нашим требованиям, а по большому счёту требованиям заказчика. Для реализации тех или иных моментов в drupal существует возможность написания собственных модулей. Как пишется модуль – я сейчас вам продемонстрирую. Я не буду использовать «хуки»(только с той целью, что бы вы поняли принцип построения модуля, а не написание его функционала) а просто выведу какую-то информацию на странице сайта, и можно задать какое – нибудь условие вывода. Модуль Drupal состоит из 2х обязательных файлов:

  1. Название_модуля.info
  2. Название_модуля.module

Список значений файла «Название_модуля.info»

  1. ; $Id$ //если вы будете размещать свой модуль в массы на drupal.org – то сюда впишется вся инфа о модуле
  2. name = drupalfly //название модуля
  3. description = MynewDrupalFly module //описание модуля
  4. core = 6.x //для какого ядра Drupal предназначен
  5. package = other //в какой категории должен отображаться модуль в админке сайта

Так же можно задать зависимость модуля от другого модуля :

dependencies[] = block

Данная запись будет говорить о том, что для работы модуля необходим модуль «block»

Файл «Название _модуля.module» - отвечает за функционал модуля

  1. <?php //модуль начинается с открывающего тега php
  2. $Id$ // если вы будете размещать свой модуль в массы на drupal.org – то сюда впишется вся инфа о модуле

Закрывающий тег php рекомендуется не записывать в модуле, после описания функционала модуля.

Для того, что бы наш модуль появился в админке сайта, достаточно создать лишь эти 2 файла.

Пишем модуль.

1.Идём по пути sites/all/modules/ - если у вас нет папки «modules» - то вам необходимо её создать.

2.Внутри папки «modules» - создаем ещё одну папку с названием вашего модуля.

3.Внутри папки с название вашего модуля создаём 2 файла, которые описаны выше: это «Название_модуля.info» и «Название_модуля.module». Не забываем только, что файлы необходимо сохранять в кодировке «UTF-8»

4.Содержимое файла «Название_модуля.info»

Содержимое файла «Название_модуля.module»

5.Идём в админку сайта, а именно «Управление->модули» и видим, что наш с вами созданный модуль, доступен для активации.

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

Поэтому давайте для демонстрации, как я и говорил выше выведем какую-нибудь информацию и впишем условия для вывода этой информации. Открываем файл «Название_модуля.module» и напишем простейшее условие, например: Если пользователь использует браузер Mozzila Firefox – то выводим фразу «Вы используете браузер Firefox – демонстрация модуля», в противном случае выводим «Вы используете не Firefox, настоятельно рекомендую пользоваться именно им».

Проверяем работу, через «Firefox»

И через «Хром»

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

Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (2)

Profile picture for user Николай
Илья
04.01.2015

А почему данный модуль выводит информацию самым первым?
Как вывести эту информацию в каком-либо регионе?

Profile picture for user pantey
pantey
12.01.2015

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

hook_block_info()
hook_block_view()