我想从其他菜单的主菜单中加载菜单项。我读过十几个例子,但我根本无法把它渲染出来。
这是我来自my_theme.theme
的代码
function my_theme_menu__secondary(&$menu, &$menu_name, &$suggestions) {
$menu_name = 'main';
$menu_tree = \Drupal::menuTree();
$parameters = new \Drupal\Core\Menu\MenuTreeParameters();
$parameters->onlyEnabledLinks();
// $parameters->setMinDepth(2)();
// $parameters->setMaxDepth(2)();
$tree = $menu_tree->load($menu_name, $parameters);
$manipulators = array(
array('callable' => 'menu.default_tree_manipulators:checkAccess'),
array('callable' => 'menu.default_tree_manipulators:generateIndexAndSort'),
);
$tree = $menu_tree->transform($tree, $manipulators);
$list = [];
foreach ($tree as $item) {
$title = $item->link->getTitle();
$url = $item->link->getUrlObject();
$list[] = Drupal\Core\Link::fromTextAndUrl($title, $url);
}
return $list;
}
这是我的menu--secondary.html.twig
{% import _self as menus %}
{{ menus.menu_links(items, attributes, 0) }}
{% macro menu_links(items, attributes, menu_level) %}
{% import _self as menus %}
{% if list %}
{% for item in list %}
{%
set item_classes = [
'expanded',
'dropdown',
item.in_active_trail ? 'active',
]
%}
{% if menu_level == 0 %}
{{ item.title }}
{% endif %}
{% endfor %}
{% endif %}
{% endmacro %}
如有任何帮助,我们将不胜感激:)
发布于 2018-08-22 06:18:54
您可以添加新的模块细枝调整,在呈现模块菜单后,在模板上进行Twig调整。
https://drupal.stackexchange.com/questions/263159
复制相似问题