xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Куда пихать твой чёртов код или как создать свой модуль

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

Частый вопрос читателей этого блога =)

Отвечаю: если в посте явно не указано в какой файл вставить код, то это нужно сделать в основной файл своего модуля (тот, что с расширением .module).

Свой модуль создать достаточно просто:

  1. В папке sites/all/modules создаётся подпапка mymodule.

  2. В созданной папке создаётся два файла — mymodule.info и mymodule.module.

  3. В mymodule.info добавляется информация о модуле:

    name = My Module
    description = Module for hooks and some functions
    core = 7.x
  4. И наконец в mymodule.module после открывающего тега <?php, добавляется весь код, который реализует нужный функционал (реализации хуков, служебные функции, функции темизации и т.д.).

После того как модуль создан, его необходимо включить на странице admin/modules.

Важно: все создаваемые файлы должны быть в кодировке UTF-8 without BOM.

Подборка ссылок:

Примеры разработки своих модулей
Видео уроки по разработке модулей
Статья "Drupal: разработка модуля" от PC Magazine
Официальный мануал по разработке модулей (eng)

Написанное актуально для Drupal 6, Drupal 7
Похожие записи

Комментарии RSS

В конце пункта 4 предлагаю вставить "Закрывающий тег ?> ставить не нужно" - во избежание недоразумений :)

еще можно создать к примеру custom sites/all/modules/custom и в кастом создавать папки для своих модулей

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании