【发布时间】:2012-01-19 14:07:33
【问题描述】:
这听起来可能很奇怪,但我有一个菜单,其中第一页没有真正的子页面。但是,它有一个带有 2 个自定义 TMENU 和一个插件插入的附加 COA。
但是:此页面的子导航仅在我向此页面添加可见子页面时生成(这将是一种变通方法)。有没有更好的解决方案让这个菜单可见?
这里是打字稿:
field_main_navigation = HMENU
field_main_navigation {
1 = TMENU
1 {
expAll = 1
NO. wrapItemAndSub = <div class="wrap-itemAndSub">|</div>
ACT < .NO
ACT = 1
ACT.ATagParams = class="active"
}
2 = TMENU
2 {
wrap = <div class="sub clearfix" style="display: none;">|</div>
# Custom build for page 2
stdWrap.wrap.append = COA
stdWrap.wrap.append {
if.value.field = pid
if.equals = 2
# a lot of typoscript, basically:
# two COA's, one with two HMENU, the
# other one with plugin content
10 = COA
# ...
20 = COA
# ...
}
NO = 1
NO {
allWrap = <li>|</li>
}
}
}
解释我想要实现的目标
基本上它是一个简单的“悬停时显示子菜单”。只是第一项
在其悬停子菜单中有特殊内容。因为没有实际
[ nav 1 ] 包含的子页面,不呈现子菜单。
[ nav 1 ] [ nav 2 ] [ nav 3 ]
|------div.sub style="display: none;" *-------|
| ( Custom TMENU ) | (Plugin Content) |
| | |
|--------------------|------------------------|
| ( Custom TMENU ) | ( Usual submenu ** )|
| | |
|---------------------------------------------|
* Pops out when hovering over [ nav 1 ]
** this _may_ be the case in the future, but
currently not. here's the problem
这让我想到了另一个问题(刚刚):我应该在我通常的 HMENU/TMENU 中执行所有这些操作,还是应该渲染一个普通的 HMENU/TMENU 并将 nav-1 作为打字稿生成的自定义导航点添加自定义子导航层?
【问题讨论】:
-
因为你的自定义内容应该放在子菜单的后面,也就是我把XXX放在这个的地方吧?
NO.wrapItemAndSub = <div class="wrap-itemAndSub">|XXX</div> -
更新的问题(底部有另一个问题..)
-
如果第一级中的项目没有改变(即 UID 2 的页面始终存在),那么您可以简单地将其与您的自定义 TypoScript 一起放在菜单之前并排除该页面
HMENU。我的回答考虑到该页面可能不存在。它对你有用吗? -
工作或多或少,问题出在子菜单中。但我接受它,因为它是一个可靠的解决方案。谢谢!
-
子菜单有什么问题?
标签: typo3 typoscript