Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 访问/查看自定义模块的设置页面_Drupal_Drupal 6_Drupal Modules - Fatal编程技术网

Drupal 访问/查看自定义模块的设置页面

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

我把一个模块从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, 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;
    }