Пишем модуль для Друпала. Часть первая: Начало

Изображение пользователя andyceo.

Определимся с целью данного тура. Мы начнём с создания блокового модуля, который отображает ссылки на контент: например, ссылки на записи в блоге или обсуждения на форуме, которые были созданы неделю назад. Этот урок научит вас создавать содержимое блока, формировать ссылки, а также получать информацию из документов Друпала.

Прежде всего, создайте директорию в папке Друпала, предназначенной для хранения сторонних (не входящих в ядро) модулей: sites/all/modules/onthisdate. Может быть Вам потребуется сначала создать папку sites/all/modules. Создайте PHP файл и запишите его в директорию sites/all/modules/onthisdate под именем onthisdate.module. В Друпал, начиная с версии 5.х, директория sites/all/modules является наиболее желательной для сторонних (не включенных в ядро) модулей (так же как директория sites/all/themes для сторонних тем), т.к. начиная с этой версии, директория sites/ содержит в себе все файлы, специфичные для того или иного сайта. Это позволяет проще обновлять файлы и модули ядра, без стирания ваших специфичных файлов.

<?php
/* $Id$ */

В соответствии со Стандартом Написания Кода Друпала, используйте длинную версию начального тега <?php, а не <? для заключения в него php кода. Также не используйте в файле закрывающий тэг ?>. Строка с кодом $Id$ поможет вносить информацию о текущей версии документа и дате его последнего изменения, когда вы отошлёте файл в систему управления версиями CVS.

Все функции вашего модуля, которые будет использовать Друпал, именуются следующим образом: {modulename}_{hook}, где "hook" - имя предопределённой функции (хука, в терминологии Друпала). Друпал будет вызывать такие функции для получения определённых данных. Предопределённые имена хуков необходимы, чтобы Друпал знал, как и где получить нужную информацию. Впоследствии мы рассмотрим хуки более подробно.

В настоящее время модуль не работоспособен - он ещё не включен. Мы активируем модуль позже в нашем уроке.

Добавьте страницу в закладки. Перейти к верху страницы
Синдикация материалов