我正在创建自己的模块,其中一个要求就是让它位于某个菜单中。我的问题是菜单是使用插件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”下。我错过了什么?
答案 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()
。