Books-CMS.clan.su


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Добавление триггеров в существующие хуки

Иногда бывает нужно добавить триггеры в уже существующие хуки, если в коде добавляется новая операция. Например, может понадобиться добавить хук по имени hook_node_archive.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Система меню

Система меню Drupal является сложной, зато мощной. Можно считать, что она отвечает за три основные функции: отображение обратных вызовов, управление доступом и настройка меню. Код самой системы меню находится в файле includes/ menu.inc, а дополнительный код с такими средствами, как настройка меню, расположен в modules/menu.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Создание элемента меню

Для создания элемента меню предназначена функция hook_menu(). Она принимает массив элементов, которые необходимо добавить в меню, и каждый такой элемент сам представляет собой массив пар “ключ-значение”, определяющих атрибуты элемента меню.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Аргументы обратного вызова страницы

Иногда функции обратного вызова страницы, которая отображена на путь, требуется предоставить больше информации. Прежде всего, все дополнительные части пути передаются автоматически.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Обратные вызовы страниц в других файлах Если не указано иное, Drupal предполагает, что обратный вызов страницы находится в файле .module. В Drupal 7 многие модули разбиты на несколько файлов, которые загружаются в зависимости от определенных условий — это позволяет при каждом запросе страницы загружать минимальный объем кода.
CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Добавление ссылки в блок навигации

В примере menufun мы объявили, что наш элемент меню имеет тип MENU_CALLBACK. Изменение этого типа на MENU_NORMAL_ITEM укажет, что мы не просто хотим выполнить отображение пути на функцию обратного вызова, а желаем также, чтобы среда Drupal включила его в меню.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Вложенные меню До сих пор мы определили только один статический элемент меню.
CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Управление доступом Во всех приведенных выше примерах мы просто заносили в ключ access callback элемента меню значение TRUE, а это означает, что к данному элементу может обратиться любой пользователь. Обычно управление доступом к меню осуществляется за счет определения прав доступа в модуле с помощью функции hook_permission() и последующей проверки этих прав. Имя необходимой для этого функции определено в ключе access callback и обычно выглядит как user_access. Определим право доступа с именем receive greeting; если у пользователя нет роли с этим правом, то при попытке перехода по адресу http://example.com/?q=menufun он получит сообщение Access denied (Доступ запрещен).
CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Локализация и настройка заголовка

Существуют два вида заголовков: статические и динамические. Статические заголовки создаются с помощью функции обратного вызова заголовка. Drupal автоматически переводит значения статических заголовков, поэтому помещать их в вызов t() не требуется. Однако при использовании динамических заголовков с помощью функции обратного вызова заголовка за перевод в обратном вызове отвечаете вы.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Определение обратного вызова заголовка

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



Бесплатный конструктор сайтов - uCoz