我需要建立一个主菜单,它是常规菜单的子集。设计团队认为,最好让用户仅在主菜单中拥有最重要的链接,而不要拥有所有内容。有些链接是顶层菜单,有些是子菜单。为此,我希望能够将一个字段作为下拉列表添加到菜单链接项表单中。创建链接时,用户可以使用此下拉菜单选择“ promoteToMainMenuAsBigLink”或“ promoteToMainMenuAsSmallLink”,也可以不使用任何下拉菜单而不在主菜单上显示该项目。
我正在寻找与此Drupal 7解决方案类似的解决方案,但针对Drupal 8。
我希望能够在表menu_link_content_data中的“扩展”旁边添加一列。我希望不必将此信息记录在d7解决方案中所示的其他表中。
我能够在构建的自定义模块中向链接表单添加字段,仅出于测试目的,我仅添加了以以下内容开头的文本字段:
custom_menu.module:
function custom_menu_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if($form_id == 'menu_link_content_menu_link_content_form') {
$form['promoteToMainMenu'] = array(
'#type' => 'textfield',
'#title' => t('Promote to main menu'),
'#description' => t('Promote link menu to main menu.'),
'#default_value' => '',
'#weight' => -9
);
}
}
该字段确实以链接形式显示,但从未记录。
有人可以帮我弄这个吗?