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

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

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

Внимание: статья написана для Drupal 6 и 7. Информацию для Drupal 8 можно найти здесь.

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

Отвечаю: если в посте явно не указано в какой файл вставить код, то это нужно сделать в основной файл своего модуля (тот, что с расширением .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.

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

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

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

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

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

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

Как теперь только заставить "чёртов код" работать при запросе через ajax без form API
передаю в js путь к файлу
drupal_add_js( 'var path_mymodule="'.base_path().drupal_get_path('module', 'mymodule').'";', "inline");
а в самом js
$.post(path_mymodule+"/ajax/test.php", function(data){  $("#answer").html(data);});

а в консоле получаю jquery-1.10.2.min.js:6 POST http://site.ru/sites/all/modules/mymodule/ajax/ajax_form.inc 403 (Forbidden)

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

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

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