【问题标题】:foundation responsive sticky menu typo3 hmenu基础响应式粘性菜单typo3 hmenu
【发布时间】:2018-09-16 11:31:54
【问题描述】:

我是 Typo3、Fluid 和 Typoscript 的新手,希望有人能帮助我...

我正在为 Typo3 项目使用响应式粘性菜单,可以在这里找到:

https://foundation.zurb.com/building-blocks/blocks/responsive-sticky-menu.html

菜单源代码为:

<div data-sticky-container>
  <div data-sticky data-options="marginTop:0;">

    <div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
      <button class="menu-icon" type="button" data-toggle="example-menu"></button>
      <div class="title-bar-title">Menu</div>
    </div>

    <div class="top-bar" id="example-menu">
      <ul class="vertical medium-horizontal dropdown menu" data-responsive-menu="accordion medium-dropdown">
        <li class="menu-text">Site Title</li>
        <li>
          <a href="#">One</a>
          <ul class="menu vertical nested">
            <li><a href="#">One</a></li>
            <li><a href="#">Two</a></li>
            <li><a href="#">Three</a></li>
          </ul>
        </li>
        <li><a href="#">Two</a></li>
        <li><a href="#">Three</a></li>
      </ul>
    </div>

  </div>
</div>

这是我的模板中包含菜单“menuPrimary”的流体变量的部分的源代码:

<div data-sticky-container>
            <div data-sticky data-options="marginTop:0;">

                <div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
                    <button class="menu-icon" type="button" data-toggle="example-menu"></button>
                    <div class="title-bar-title">Menu</div>
                </div>

                <div class="top-bar" id="example-menu">
                    <ul class="vertical medium-horizontal dropdown menu" data-responsive-menu="accordion medium-dropdown">
                      <li class="menu-text">{labelSiteTitle -> f:format.raw()}</li>
                      {menuPrimary -> f:format.raw()}
                    </ul>
                </div>

            </div>
        </div>

我想创建一个包含两个级别的菜单:这是页面和子页面的示例结构。这是我的打字稿:

10 = 流体模板
10 {
文件 = 文件管理员/模板/vorlage.html

variables {  

  labelSiteTitle = TEXT  
  labelSiteTitle.value = Testseite  

  menuPrimary = HMENU  
  menuPrimary {  
    special = directory  
    special.value = 3  

    1 = TMENU  
    1 {  
      NO = 1  
      NO {  
        wrapItemAndSub = <li>|</li>  
      }  

    }  

    2 = TMENU  
    2 {  
      NO = 1  
      NO {  
        wrapItemAndSub = <li>|</li>  
      }  
    }  

  }  

  contentMain < styles.content.get

}

那么我做错了什么?我只想拥有与 https://foundation.zurb.com/building-blocks/blocks/responsive-sticky-menu.html 上的建筑块完全相同的菜单。

这是我在 Typo3 中的页面结构:

root
-main navigation
 |--Homepage
 |--News
 |--Private
 |--About Us
    |---Team
    |---blabla
    |---...

非常感谢您的帮助!

这是我在前端的输出:

<div data-sticky-container>
            <div data-sticky data-options="marginTop:0;">

                <div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
                    <button class="menu-icon" type="button" data-toggle="example-menu"></button>
                    <div class="title-bar-title">Menu</div>
                </div>

                <div class="top-bar" id="example-menu">
                    <ul class="vertical medium-horizontal dropdown menu" data-responsive-menu="accordion medium-dropdown">
                      <li class="menu-text">Testseite</li>
                      <li><a href="index.php?id=5">Homepage</a></li>
                      <li><a href="index.php?id=6">News</a></li>
                      <li><a href="index.php?id=7">Private</a></li>
                      <li><a href="index.php?id=8">About Us</a></li>
                    </ul>
                </div>

            </div>
        </div>

这是我点击“关于我们”后的输出:

<div data-sticky-container>
            <div data-sticky data-options="marginTop:0;">

                <div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
                    <button class="menu-icon" type="button" data-toggle="example-menu"></button>
                    <div class="title-bar-title">Menu</div>
                </div>

                <div class="top-bar" id="example-menu">
                    <ul class="vertical medium-horizontal dropdown menu" data-responsive-menu="accordion medium-dropdown">
                      <li class="menu-text">Testseite</li>
                      <li><a href="index.php?id=5">Homepage</a></li>
                      <li><a href="index.php?id=6">News</a></li>
                      <li><a href="index.php?id=7">Private</a></li>
                      <li><a href="index.php?id=8">About Us</a>
                          <li><a href="index.php?id=9">Team</a></li>
                          <li><a href="index.php?id=10">blabla</a></li>
                      </li>
                    </ul>
                </div>

            </div>
        </div>

【问题讨论】:

  • 你在前端得到什么输出?
  • 您好大卫,非常感谢您,我将输出附加到问题的末尾。

标签: templates menu typo3 zurb-foundation fluid


【解决方案1】:

您的第二层没有用&lt;ul class="menu vertical nested"&gt;|&lt;/ul&gt; 包裹。 我还不知道它是否能解决你的问题,但你应该这样写:

...

1 = TMENU  
1 {  
  expAll = 1
  NO = 1
  NO {
    wrapItemAndSub = <li>|</li>
  }
  IFSUB = 1
  IFSUB.wrapItemAndSub = <li class="is-dropdown-submenu-parent opens-right">|</li>
}
2 = TMENU  
2 {  
  wrap = <ul class="menu vertical nested">|</ul>
  NO = 1  
  NO {  
    wrapItemAndSub = <li>|</li>  
  }  
}  
....

【讨论】:

  • 非常感谢,这正是我的问题的解决方案!
  • 非常感谢,这几乎解决了我的问题。如果“关于我们”处于活动状态,一切都很好。正在显示“向下箭头”。但是,例如,如果我在主页上,“关于我们”的菜单链接没有“向下箭头”。所以第一层里面肯定还缺少像IFSUB这样的东西......
  • 效果几乎完美。唯一仍然缺少的是,例如,在主页(level1)上,当悬停在“关于我们”上时,指向“团队”和“blabla”的菜单链接不会像基础站点的构建块中那样自动展开.你对此有什么暗示吗?我认为解决方案是在启动时已经必须将 2 级菜单点包含在 1 级菜单中,但不知道如何解决这个问题
  • 在第 1 层添加了expAll = 1,如果需要,您也可以在第 2 层执行相同操作。
  • 编辑:使用 expAll = 1 我可以省略 IFSUB = 1 IFSUB.wrapItemAndSub =
  • |
猜你喜欢
相关资源
最近更新 更多
热门标签