在菜单流下添加自定义模块

时间:2014-01-25 05:04:55

标签: php codeigniter pyrocms

我正在创建自己的模块,其中一个要求就是让它位于某个菜单中。我的问题是菜单是使用插件PyroStreams生成的。

首先,我在Github上下载了示例模块的副本,然后将其放在addons/default/modules/中。我刷新了我的PyroCMS Admin -> Add-ons -> Modules并看到了那里的示例模块。如此示例模块的 detail.php 所述

public function info()
  {
    return array(
      'name' => array(
        'en' => 'Test Modules'
      ),
      'description' => array(
        'en' => 'My custom module.'
      ),
      'frontend' => FALSE,
      'backend' => TRUE,
      'menu' => 'content', // You can also place modules in their top level menu. For example try: 'menu' => 'Sample',
      'sections' => array(
        'items' => array(
          'name'  => 'Test', // These are translated from your language file
          'uri'   => 'admin/sample',
            'shortcuts' => array(
              'create' => array(
                'name'  => 'sample:create',
                'uri'   => 'admin/sample/create',
                'class' => 'add'
                )
              )
            )
        )
    );
  }

它应该出现在内容菜单上,这是正确的。现在,我在文档上找不到任何说明正确映射自定义模块菜单的说明,所以出于主动,我试图将menu => "content"的值更改为menu => "Test Stream",但这不起作用。如下面的屏幕截图所示,这是我想放置自定义模块的位置,在菜单“Test Stream”下。我错过了什么?

enter image description here

1 个答案:

答案 0 :(得分:3)

将此方法添加到detail.php文件中:

public function admin_menu(&$menu)
    {       
        // Create main menu item 
        add_admin_menu_place('lang:module:title', 9); // 9 is the placement order of your menu item, it would be after profile

        // Create sub-menu
        $menu['lang:module:title']['lang:module:submeu1']  = 'admin/add';
        $menu['lang:module:title']['lang:module:submeu2'] = 'admin/edit';
    }

还会在'menu'=> false,方法设置info()