Skip to main content
Темплейты для Drupal
хуки для друпал

Полезные хуки для Drupal 7

Как сделать модуль

Это просто. Создаем папку с названием вашего модуля. Например mysite. Модуль, соответственно, будет называтьcя mysite.

Создаем три файла:

  • mysite.info
  • mysite.module
  • mysite.install

В mysite.info описываем наш модуль:

name = mysite
description = Hooks for mysite
package = mysite
version = 7.x
core = 7.x

В mysite.install ничего не пишем, поскольку при включении, у нас ничего глобального не происходит (не создаются таблицы в базе данных, не создаются типы материалов, вьюсы и т.д.)

А в mysite.module уже пишем нужные нам хуки. Примеры ниже будут постепенно добавляться.

Отключить использование Overlay для конкретных страниц

В этом хуке мы можем включить оверлей для страниц, которые по умолчанию в оверлее не используются, либо выключить оверлей для страниц, выводящихся в нем изначально.

mysite в названии функции - имя модуля.

 /**
 * Implements hook_admin_paths_alter().
 */


function mysite_admin_paths_alter(&$paths) {
  /* Выключаем overlay для страниц редактирования пользователей, добавления и редактирования нод */
  $paths['node/user/*/edit'] = FALSE;
  $paths['node/*/edit'] = FALSE;
  $paths['node/add'] = FALSE;
  $paths['node/add/*'] = FALSE;
  /* Включаем overlay для страниц авторизаци, регистрации и восстановления пароля */
  $paths['user'] = TRUE;
  $paths['user/login'] = TRUE;
  $paths['user/register'] = TRUE;
  $paths['user/password'] = TRUE;
}

Включаем модуль, сбрасываем кеш, наслаждаемся результатом.

6

Comments

emzzy's picture
emzzy

Если в mysite.install ничего не указываем, его можно и не создавать :)

Мария Шерскова's picture
Мария Шерскова

Логично :)

Артем's picture
Артем

А есть сборка всех хуков drupal 7

Мария Шерскова's picture
Мария Шерскова
Мария Шерскова's picture
Мария Шерскова

Точнее даже так - http://api.drupal.org/api/drupal

Дмитрий's picture
Дмитрий

В 16 строке ошибка - пропущен символ переменной $