Drupal 8 中的附加菜单项
Addidional menu item in Drupal 8
我正在尝试为 Drupal 8 创建模块,但我不知道如何向菜单添加新项目。
在 Drupal 7 中,下面的代码就足够了:
function mymodule_menu()
{
$item['admin/settings/mymodule'] = array(
'title' => 'MyModule',
'description' => 'MyModule settings',
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_settings_form'),
'access arguments' => array('administer mymodule'),
'file' => 'mymodule.settings.inc',
'type' => MENU_NORMAL_ITEM,
);
return $item;
}
新菜单项应显示在栏上,并带有 Content
Structure
等
在 Symfony2 中编写的新 Drupal 中,一切看起来都不一样,我花了几个小时但没有成功。
新菜单项必须放入模块文件夹中的 <your_module_name>.links.menu.yml
文件中。作为示例,这里是文件 system.links.menu.yml
:
中 Content
菜单的定义
system.admin_content:
title: Content
description: 'Find and manage content.'
route_name: system.admin_content
parent: system.admin
weight: -10
在你的情况下它会是这样的:
mymodule.my_module_settings:
title: MyModule
description: 'MyModule settings'
route_name: mymodule.settings
parent: system.admin
weight: -10
(您应该将此代码放入您的新*.links.menu.yml文件中,只需根据您的需要修改路由和其他参数即可。)
必须在 *.routing.yml 文件中定义 route_name
路由
mymodule.settings:
path: 'mymodule/form/'
defaults:
_title: 'Form title'
_form: '\path\to\your\form'
requirements:
_permission: 'access content'
我正在尝试为 Drupal 8 创建模块,但我不知道如何向菜单添加新项目。
在 Drupal 7 中,下面的代码就足够了:
function mymodule_menu()
{
$item['admin/settings/mymodule'] = array(
'title' => 'MyModule',
'description' => 'MyModule settings',
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_settings_form'),
'access arguments' => array('administer mymodule'),
'file' => 'mymodule.settings.inc',
'type' => MENU_NORMAL_ITEM,
);
return $item;
}
新菜单项应显示在栏上,并带有 Content
Structure
等
在 Symfony2 中编写的新 Drupal 中,一切看起来都不一样,我花了几个小时但没有成功。
新菜单项必须放入模块文件夹中的 <your_module_name>.links.menu.yml
文件中。作为示例,这里是文件 system.links.menu.yml
:
Content
菜单的定义
system.admin_content:
title: Content
description: 'Find and manage content.'
route_name: system.admin_content
parent: system.admin
weight: -10
在你的情况下它会是这样的:
mymodule.my_module_settings:
title: MyModule
description: 'MyModule settings'
route_name: mymodule.settings
parent: system.admin
weight: -10
(您应该将此代码放入您的新*.links.menu.yml文件中,只需根据您的需要修改路由和其他参数即可。)
必须在 *.routing.yml 文件中定义 route_name
路由
mymodule.settings:
path: 'mymodule/form/'
defaults:
_title: 'Form title'
_form: '\path\to\your\form'
requirements:
_permission: 'access content'