Bootstrap 4 如何在Drupal8上创建引导手风琴菜单

Bootstrap 4 如何在Drupal8上创建引导手风琴菜单,bootstrap-4,twig,accordion,drupal-8,sidebar,Bootstrap 4,Twig,Accordion,Drupal 8,Sidebar,您好,我正在尝试在Drupal8上构建一个手风琴菜单,但是需要一些帮助来了解如何使用动态菜单的正确数据目标写出正确的结构 我试着搜索stackoverflow,但找不到正确的答案。我正在尝试实现引导文档中的基本卡片样式手风琴 下面是我想修改的代码,这适用于引导下拉列表,但我们特别需要手风琴功能来工作,而不是下拉列表 {# /** *@file *显示菜单的默认主题实现。 * *可用变量: *-菜单名称:菜单的机器名称。 *-项:菜单项的嵌套列表。每个菜单项包含: *-属性:菜单项的HTML属性

您好,我正在尝试在Drupal8上构建一个手风琴菜单,但是需要一些帮助来了解如何使用动态菜单的正确数据目标写出正确的结构

我试着搜索stackoverflow,但找不到正确的答案。我正在尝试实现引导文档中的基本卡片样式手风琴

下面是我想修改的代码,这适用于引导下拉列表,但我们特别需要手风琴功能来工作,而不是下拉列表

{#
/**
*@file
*显示菜单的默认主题实现。
*
*可用变量:
*-菜单名称:菜单的机器名称。
*-项:菜单项的嵌套列表。每个菜单项包含:
*-属性:菜单项的HTML属性。
*-下面:菜单项子项。
*-标题:菜单链接标题。
*-url:菜单链接url,\Drupal\Core\url的实例
*-本地化选项:菜单链接本地化选项。
*-是否展开:如果链接在当前链接中有可见的子项,则为TRUE
*菜单树。
*-是否折叠:如果链接在当前菜单树中有子项,则为TRUE
*当前不可见的。
*-在活动路径中:如果链接在活动路径中,则为真。
*
*@ingroup模板
*/
#}
{%import\u self as menus%}
{#
我们调用一个宏,它调用自身来呈现完整的树。
@看http://twig.sensiolabs.org/doc/tags/macro.html
#}
{{菜单.菜单链接(项目,属性,0)}
{%宏菜单链接(项目、属性、菜单级别)%}
{%import\u self as menus%}
{%if items%}
{%if menu_level==0%}
    {%else%} {%endif%} {items%%中的项的%s} {% 设置类=[ “导航栏项目”, item.u是否展开?“菜单项--展开”, item.u是否展开?“下拉列表”, item.u是否折叠?“菜单项--折叠”, item.in_active_trail?'菜单项--active trail', item.in_active_trail?“active”, ] %} {%if menu_level==0且item.is_expanded%} {%else%} {{{link(item.title,item.url)}}}}} {{link(item.title,item.url,{'class':['navbar-link']}}} {%endif%} {%if item.below%} {menu.menu链接(item.below,attributes.removeClass('nav','navbar nav'),menu级别+1)} {%endif%} {%endfor%}
{%endif%} {%endmacro%}
{{菜单.菜单链接(项目,属性,0)}
{%宏菜单链接(项目、属性、菜单级别)%}
{%import\u self as menus%}
{%if items%}
{%set ip=1%}
{%if menu_level==0%}
{%else%}
    {%endif%} {items%%中的项的%s} {% 设置类=[ 菜单级别?“子项”:“导航项”, item.in_active_trail?“active”, 下面的项目:'卡片', ] %} {% 设置链接\u类=[ 非菜单级“导航链接”, item.in_active_trail?“active”, item.url.getOption('attributes').class?item.url.getOption('attributes').class | join(''), “导航链接-”~item.url.toString()| clean_类, ] %} {%if item.below%} {%if item.in_active_trail%} {{item.title} {{menus.menu_链接(下面的项,属性,menu_级别+1)} {%else%} {{item.title} {{menus.menu_链接(下面的项,属性,menu_级别+1)} {%endif%} {%set ip=ip+1%} {%else%} {{link(item.title,item.url,{'class':link_classes}}} {%endif%} {%endfor%}
{%endif%} {%endmacro%}
{{菜单.菜单链接(项目,属性,0)}
{%宏菜单链接(项目、属性、菜单级别)%}
{%import\u self as menus%}
{%if items%}
{%set ip=1%}
{%if menu_level==0%}
{%else%}
    {%endif%} {items%%中的项的%s} {% 设置类=[ 菜单级别?“子项”:“导航项”, item.in_active_trail?“active”, 下面的项目:'卡片', ] %} {% 设置链接\u类=[ 非菜单级“导航链接”, item.in_active_trail?“active”, item.url.getOption('attributes').class?item.url.getOption('attributes').class | join(''), “导航链接-”~item.url.toString()| clean_类, ] %} {%if item.below%} {%if item.in_active_trail%} {{item.title} {{menus.menu_链接(下面的项,属性,menu_级别+1)} {%else%} {{item.title} {{menus.menu_链接(下面的项,属性,menu_级别+1)} {%endif%} {%set ip=ip+1%} {%else%} {{link(item.title,item.url,{'class':link_classes}}} {%endif%} {%endfor%}
{%endif%} {%endmacro%}