我正在使用drupal 7。 我有一个链接到href =“/ mod / filter / 1”
<a href="/mod/filter/1">X</a>
我有一个hook_menu
function mod_menu () {
$menu = array(
'mod/filter/%' => array (
"title" => "Bare HTML for use in ajax.",
"page callback" => "mod_remove_filter_function",
"page arguments" => array(1),
"type" => MENU_CALLBACK,
)
);
return $menu;
}
然后是回调函数
function mod_remove_filter_function($arg){
dsm('call back filter');
drupal_goto('/res/search');
}
对我来说,这应该可行,这是我第一次使用菜单钩子,但看起来它应该按照给出的文档工作。
任何想法为什么都不起作用?
答案 0 :(得分:1)
function mod_menu () {
$menu = array(
'mod/filter/%' => array (
"title" => "Bare HTML for use in ajax.",
"page callback" => "mod_remove_filter_function",
"page arguments" => array(1),
"type" => MENU_CALLBACK,
)
);
return $menu;
}
钩子是完美的。问题可能出在回调函数中
dsm函数需要devel模块,如果你使用的是drupal_goto('/ res / search');首先检查“/ res / search”路径。
:)
这是我如何在自定义模块中使用hook_menu。
$menu['mod/filter/%'] = array(
'title'=>t('look this is title'),
'page callback' => 'mod_remove_filter_function',
'access callback' => 'user_access',
'access arguments' => array('access_contents'),
'type' => MENU_NORMAL_ITEM,
);
答案 1 :(得分:0)
不要在菜单项中使用t()函数。通过defualt drupal将标题字符串传递给函数t()。您可以通过在菜单项数组中设置新的“标题回调”来更改该行为