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,我正在为drupal寻找一些初学者资源。我一直在写我自己的模块,以此来教自己开发的基础知识,因为我喜欢在Wordpress无法管理时让Drupal去做的想法。(虽然wordpress很快就和Drupal一样成功,但这不是问题所在。) 我让模块显示在启用/禁用屏幕上,module.install文件起作用。我坚持的是生成一个管理区域来编辑我正在使用的表中的条目。我在module.admin.inc中有一个module\u admin\u settings()函数,在module.module中还有

我正在为drupal寻找一些初学者资源。我一直在写我自己的模块,以此来教自己开发的基础知识,因为我喜欢在Wordpress无法管理时让Drupal去做的想法。(虽然wordpress很快就和Drupal一样成功,但这不是问题所在。)

我让模块显示在启用/禁用屏幕上,module.install文件起作用。我坚持的是生成一个管理区域来编辑我正在使用的表中的条目。我在module.admin.inc中有一个module\u admin\u settings()函数,在module.module中还有module.menu()


但是它没有出现在菜单上,我不明白为什么会这样。所以我希望有人知道一个好的教程,解释如何生成管理选项。

是我用来作为起点的。

如果你想认真对待Drupal开发,我建议你阅读这本书。这是我读过的最有用的一本Drupal书籍

至于你的问题,创建一个管理部分和在某些地方创建一个视图没有太大区别。你需要做的是

  • 实现注册要使用的url,在您的情况下,
    admin/settings/name
    应该可以
  • 实现一个回调函数,当用户转到您的服务器时应该调用该函数。在您的情况下,您不需要实现一个您应该使用的表单,而是需要创建用户应该看到的表单

    您需要在
    hook\u菜单中放置此信息,如下所示:

    function modulename_menu() {
      $items = array();
      $items['admin/settings/modulename'] = array(
        'title' => 'Menu item',
        'description' => 'The description of the menu item. It is used as title attribute and on the administration overview page.',
        'page callback' => 'drupal_get_form',
        'page arguments' => array('form_id'),
        'access arguments' => array('administer modulename'), // access restriction to admins only
      );
      return $items;
    }
    
  • 然后,您需要为表单实现验证和提交处理程序,若您使用,您可以为您完成大量工作

  • 无论何时更改
    hook_menu
    ,都需要清除(菜单)缓存,因为Drupal会缓存这些信息以优化性能

  • 就这样。现在,您不需要在模块中使用不同的文件。如果模块很小,所有模块都可以进入
    .module
    文件。但是对于更大的模块,您可以将一些代码放在
    .inc
    文件中,稍微组织一下代码。Fx
    modulename.admin.inc
    用于管理回调/函数,
    modulename.page.inc
    用于常规回调/函数等。

    这是我的书。只是我没有完全按照它要我做的去做。当你通读这本书时,每一章都有完整的代码示例,你可以直接复制和使用。你不明白的是什么。