Drupal 访问/查看自定义模块的设置页面
我把一个模块从5升级到6。我只有一个问题: 我可以访问它的设置页面,但看不到它的内容。 这是我的代码:Drupal 访问/查看自定义模块的设置页面,drupal,drupal-6,drupal-modules,Drupal,Drupal 6,Drupal Modules,我把一个模块从5升级到6。我只有一个问题: 我可以访问它的设置页面,但看不到它的内容。 这是我的代码: function agbnagscreen_menu() { global $user; $items = array(); if (agbnagscreen_nag($user)) { // var_dump($_GET['q']); die(); drupal_goto(sprintf('%s/%s', AGBNAGSCREEN_NAGURL, b
function agbnagscreen_menu() {
global $user;
$items = array();
if (agbnagscreen_nag($user)) {
// var_dump($_GET['q']); die();
drupal_goto(sprintf('%s/%s', AGBNAGSCREEN_NAGURL, base64_encode($_GET['q'])));
die();
}
$items['admin/settings/agbnagscreen'] = array(
// 'path' => 'admin/settings/agbnagscreen',
'title' => 'AGB nagscreen',
'access callback' => user_access('Einstellungen von AGB aendern'),
//'access' => user_access('Einstellungen von AGB aendern'),
'page callback' => 'drupal_get_form',
'callback arguments' => array('agbnagscreen_settings_fapi'),
);
$items[AGBNAGSCREEN_NAGURL] = array(
// 'path' => AGBNAGSCREEN_NAGURL,
'title' => 'Allgemeine Geschaeftsbedingungen',
'access' => TRUE,
'callback' => 'drupal_get_form',
'callback arguments' => array('agbnagscreen_fapi'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}
我认为问题是由这一行引起的:
'page callback' => 'drupal_get_form',
对吗?如何编写它,使其正常工作?您可能希望通读手册页面以了解菜单系统的更改:您的
hook\u菜单执行中存在几个问题
顶部的条件永远不会触发:Drupal 6仅在重建菜单时调用hook\u menu()
,而不是在每次加载页面时调用
没有回调
:使用页面回调
页面回调
接受页面参数
,而不是回调参数
有访问
:使用访问回调
access callback
始终是一个包含函数名的字符串,而不是一个函数,默认为“user\u access”
:您需要提供访问参数
hook\u菜单的修改版本可能是:
function agbnagscreen_menu() {
$items = array();
$items['admin/settings/agbnagscreen'] = array(
'title' => 'AGB nagscreen',
'access arguments' => array('Einstellungen von AGB aendern'),
'page callback' => 'drupal_get_form',
'page arguments' => array('agbnagscreen_settings_fapi'),
);
$items[AGBNAGSCREEN_NAGURL] = array(
'title' => 'Allgemeine Geschaeftsbedingungen',
'access arguments' => array('access content'),
'page callback' => 'drupal_get_form',
'page arguments' => array('agbnagscreen_fapi'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}
您可能需要通读手册页面以了解菜单系统的更改:您的hook_菜单执行中有几个问题
顶部的条件永远不会触发:Drupal 6仅在重建菜单时调用hook\u menu()
,而不是在每次加载页面时调用
没有回调
:使用页面回调
页面回调
接受页面参数
,而不是回调参数
有访问
:使用访问回调
access callback
始终是一个包含函数名的字符串,而不是一个函数,默认为“user\u access”
:您需要提供访问参数
hook\u菜单的修改版本可能是:
function agbnagscreen_menu() {
$items = array();
$items['admin/settings/agbnagscreen'] = array(
'title' => 'AGB nagscreen',
'access arguments' => array('Einstellungen von AGB aendern'),
'page callback' => 'drupal_get_form',
'page arguments' => array('agbnagscreen_settings_fapi'),
);
$items[AGBNAGSCREEN_NAGURL] = array(
'title' => 'Allgemeine Geschaeftsbedingungen',
'access arguments' => array('access content'),
'page callback' => 'drupal_get_form',
'page arguments' => array('agbnagscreen_fapi'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}