Меню на Друпале, ч.1
Здесь я расскажу немного а том, как Вы можете легко и без усилий создать в своем модуле меню - и в частности остановимся на разных тонкостях. Итак - начнем пожалуй с хука hook_perm()
<?php
/**
* Implementation of hook_perm().
*/
function menufun_perm() {
return array('receive');
}
?>
<?php
/**
* Implementation of hook_perm().
*/
function menufun_perm() {
return array('receive');
}
?>Здесь всё понятно, просто ставим разрешение тем ролям, которым нужно. Затем уже, собственно говоря, начинаем строить непосредственно само меню, используя для этого hook_menu. В приведенном ниже коде я строю две страницы - с адресом menufun и menufun/farewell
<?php
/**
* Implementation of hook_menu().
*/
function menufun_menu() {
$items['menufun'] = array(
'page callback' => 'menufun_hello',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
$items['menufun/farewell'] = array(
'title' => 'Farewell', // No! don't use t() in menu item titles or descriptions.
'title callback' => 'menufun_title',
'page callback' => 'menufun_goodbye',
'access callback' => TRUE,
'type'=>MENU_DEFAULT_LOCAL_TASK,
);
return $items;
}
?>
<?php
/**
* Implementation of hook_menu().
*/
function menufun_menu() {
$items['menufun'] = array(
'page callback' => 'menufun_hello',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
$items['menufun/farewell'] = array(
'title' => 'Farewell', // No! don't use t() in menu item titles or descriptions.
'title callback' => 'menufun_title',
'page callback' => 'menufun_goodbye',
'access callback' => TRUE,
'type'=>MENU_DEFAULT_LOCAL_TASK,
);
return $items;
}
?>В page callback мы указываем функцию, которая будет отвечать за вывод контента на странице. В частности функция menufun_hello используется для вывода содержимого на странице menufun.
ССылки


