Створення модуля в drupal

Персональна сторінка shra, блог фріленсерів, веб-розробника на PHP. Тут я ділюся своїм досвідом і думками, проводжу досліди над людьми, збираю нематеріальні свідоцтва власної дурості. Використовуючи приклади програмного коду з даного сайту, ви приймаєте всю відповідальність за можливі наслідки їх використання, включаючи ваше психічне здоров'я і інтереси третіх осіб.

Блог / drupal / Створення модуля в Drupal

Невеликий путівник по написанню модуля для Drupal 7.

Будь-який «пристойний» проект на drupal (та й в інших CMS) вимагає як мінімум трьох речей:

Про останній пункт, про те як написати свій модуль ми і поговоримо.

Мова йде не про створення модуля для поширення через репозиторій проектів Drupal.org, а про приватному модулі для зберігання функціоналу, написання зачіпок (hook) для одного з ваших проектів.

Типовий набір файлів модуля

«Спочатку було слово ...».

Потрібно визначитися з назвою модуля. Всі файли модуля зберігаються в папці, яку для нього створюють в директорії / sites / all / modules. Движок знайде ваш модуль також при розміщенні в - / modules, де зберігаються модулі ядра і в - / sites / default / modules.

Нехай наш модуль називається newmodule. Створимо для нього папку - / sites / all / modules / newmodule.

Движок дізнається про наявність модуля по файлу з розширенням .info. А основні функції і зачіпки (hooks) потрібно описувати в файлі .module. Створимо обидва цих файлу:

Файл може міститися такі описи (властивості), але лише деякі з них є обов'язковими:

Як бачите, потрібно написати буквально пару рядків.

Ось ми і дісталися до основної страви. Файл .module - це PHP скрипт. Тут ми розглянемо найбільш часто використовувані hooks, програмовані в drupal. Оскільки функціонал модуля - це вже ваша турбота, я покажу лише назва зачіпок і деякі каркаси функцій. Що ви буде використовувати, я що ні - залежить тільки те вас :)

Програмуємо сторінки в Drupal 7 (hook_menu)

Програмування блоків в Drupal 7

Потрібні сторінки ми запрограмували, тепер створимо свої блоки. Зачіпок, пов'язаних з блоками багато, але я виділив пару без яких просто не обійтися:

Схожі статті