这是我第一次使用Drupal 7,我写了一个回音“test”的测试模块,在菜单中路径是“test”。
当我尝试访问localhost / drupal / test或localhost / drupal / admin / test时,它找不到它,我看到404或管理页面。
这里有什么问题?
这是代码,它不起作用
<?php
/* $Id$ */
/**
* @file
* Very simple DRUPAL module
*/
/**
* Implementation of hook_help().
*/
function hello_world_help($section) {
switch ($section) {
case 'admin/help#hello_world':
$output = '<p>Hello world help...</p>';
return $output;
case 'admin/modules#description':
return 'Hello world module description...';
}
}
/**
* Implementation of hook_menu().
*/
function hello_world_menu($may_cache) {
$items = array();
if ($may_cache) {
}
else {
$items[] = array(
'path' => 'hello', // drupal path example.com/?q=hello
'title' => 'Hello world page...', // page title
'callback' => 'hello_world_page', // callback function name
'access' => TRUE, // every user can look at generated page
'type' => MENU_CALLBACK // define type of menu item as callback
);
}
return $items;
}
/**
* Function which generate page (this generate any content - you need only your own code...)
*/
function hello_world_page() {
return '<p>Hello world!</p>';
}
?>
答案 0 :(得分:8)
使用drupal_get_path()获取模块或主题的路径。如果模块的名称是'mymodule',那么你只需调用下面的代码来获取路径。
drupal_get_path('module', 'mymodule');
修改强>
再次阅读你的问题让我意识到你要求你的模块的URL。您能否在模块的hook_menu()中发布您的代码?
答案 1 :(得分:0)
如果我找到你的话,
您编写了一个hook_menu()
,您在其中创建了菜单路径测试(例如$item['test']
)并编写了一个页面回调函数。
在页面回调函数中,您说回显测试。
如果是这种情况,您只需清除缓存。 Drupal需要注册菜单项。编写任何菜单挂钩实现后,您应该清除缓存的数据,然后再试一次。