Разделение по языкам Прогон по каталогам на халяву

Как создать схему таблиц данных для модуля

Друпал - очень мощная и гибкая система. В ее основе - система так называемых хуков - подпрограмм, реализующих те или иные интерфейсы. Так, к примеру, для того, чтобы реализовать в модуле меню, достаточно объявить функцию modulename_menu() и вернуть правильные данные, и друпал создаст меню в нужном месте.

В этом посте я расскажу, как я использовал хук hook_schema() и для чего он нужен.

Этот хук используется во время установки модуля в систему и при удалении его оттуда. Простейший пример этого хука приведен ниже:

/**

* Implementation of hook_schema().

*/

function mp_dashboard_schema() {

$schema['mp_dashboard'] = array(

‘description’ => t(‘Stores user-specific dashboard information.’),

‘fields’ => array(

‘uid’ => array(

‘type’ => ‘int’,

‘unsigned’ => TRUE,

‘not null’ => TRUE,

‘default’ => 0,

‘description’ => t(“The user’s uid.”)

),

);

}

В этом примере можно увидеть реализацию хука hook_schema() для модуля mp_dashboard. В этом упрощенном примере описано только одно поле, хотя на самом деле их там достаточно много. Впрочем, для одной таблицы из 5-10 полей написать схему полей достаточно просто. Намного сложнее сделать это для 5-10 таблиц. Что же делать? И тут можно использовать вспомогательный модуль Schema, информацию о котором можно прочесть здесь.

Итак, что делает этот модуль. Он позволяет создать описания таблиц в базе данных, к которой “приписан” друпал. Теперь вам не нужно делать описание схемы полей таблиц вручную - достаточно создать таблицу с помощью вашего любимого приложения для работы с мускулом и запустить модуль Schema в работу. Буквально через пару скунд у вас будет полное представление схем полей всех таблиц в вашей базе. Останется только скопировать и перенести сгенерированный код в инсталлятор модуля.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий