Books-CMS.clan.su


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

До сих пор мы использовали в элементах меню обычные имена путей Drupal, такие как menufun и menufun/farewell. Однако в Drupal часто применяются пути вида user/4/track или node/15/edit, где части пути формируются динамически. Рассмотрим этот процесс подробнее.


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

Когда Drupal сохраняет элемент меню в таблице menu_link, модулям предоставляется возможность изменить ссылку с помощью реализации hook_menu_link_alter().


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

При добавлении элемента меню в хуке меню можно использовать ключ type (тип). Если тип не определен, то используется стандартный тип MENU_NORMAL_ITEM. В зависимости от назначенного типа Drupal по-разному воспринимает элемент меню.


CMS Drupal 7 РУКОВОДСТВО ПО РАЗРАБОТКЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-САЙТОМ:
Часто встречающиеся задачи

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


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

Работа Drupal зависит от базы данных. Контент, комментарии, таксономия, меню, пользователи, роли, права доступа и почти все остальное хранится в базе данных и используется в Drupal в качестве источника информации, необходимой для отображения контента на сайте и управления доступом к различным его аспектам. Внутри Drupal имеется облегченный уровень абстракции баз данных — между кодом и самой базой данных. Этот уровень абстракции устраняет значительную часть сложностей взаимодействия с базой данных и защищает Drupal от различий между механизмами разных СУБД. В данной главе вы узнаете, как работает уровень абстракции баз данных и как его использовать. Вы увидите, как модули могут изменять запросы. И, наконец, вы научитесь с помощью API-интерфейса схемы Drupal вставлять в файл .install модуля запросы, необходимые для создания и изменения таблиц базы данных.


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

Работу с API-интерфейсом абстракции баз данных можно полностью оценить, только попробовав отказаться от него. Были ли у вас проекты, где требовалось изменить СУБД, и вы целыми днями просматривали код, чтобы модифицировать в нем вызовы функций и запросы, специфичные для конкретной СУБД? Работа с уровнем абстракции позволяет не задумываться о различиях в именах функций для различных СУБД, а также о совместимости запросов с ANSI SQL — т.е. вам не придется писать различные запросы для различных СУБД.


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

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


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

Существует несколько способов выборки результатов запросов в зависимости от того, нужна одна строка или же набор результатов, диапазон результатов для внутреннего использования либо для отображения с разбивкой на страницы.



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