单击父菜单链接会打开子菜单,而不是链接(Drupal)

问题描述 投票:0回答:1

我在 Drupal 中创建了一个菜单,其结构如下所示:

家长与孩子的联系。在我的网站上它看起来像这样:

请注意,“产品”会将您带到

/products
。但是,当我单击它时,它只会打开子菜单链接:

它并没有带我去

/products
,而是不断扩展。菜单的结构是这样的:

<li class="expanded dropdown open">                                                                            
      <a href="/products" class="dropdown-toggle" data-toggle="dropdown" data-drupal-link-system-path="node/370" aria-expanded="true">Products <span class="caret"></span></a>
      <ul class="dropdown-menu">
          <li class="first">
              <a href="/product/inconcert" data-drupal-link-system-path="node/362">InConcert</a>
          </li>
          <li>
              <a href="/product/voicempower" data-drupal-link-system-path="node/363">VoiceMPower</a>
          </li>
          ....
     </ul>
</li>

正如我想象的那样,问题是当我点击它时,会触发

<li>
,而不是内部的
<a>

如何解决这个问题?也许可以在悬停时打开菜单,当我单击时将我带到链接??

html css drupal content-management-system drupal-8
1个回答
0
投票

我终于解决了。我只需要从 Bootstrap 模板编辑

menu.html.twig
文件。我刚刚从
data-toggle
函数中删除了
setAttribute()
,如下所示:

来自:

{% set link_attributes = link_attributes.addClass('dropdown-toggle').setAttribute('data-toggle', 'dropdown') %}

致:

 {% set link_attributes = link_attributes.addClass('dropdown-toggle').setAttribute('', 'dropdown') %}

这删除了下拉菜单的打开。下一步是通过悬停来打开下拉菜单。这相对容易,我只是输入了这个 CSS 代码:

li.dropdown:hover > ul.dropdown-menu {
  @media (min-width: 979px) {
    display: block;
  }
}

我不知道这是否是最好或正确的方法,但对我来说它有效。

© www.soinside.com 2019 - 2024. All rights reserved.