0

这可能听起来很奇怪,但我有一个菜单,其中第一页没有真正的子页面。但是,它有一个带有 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 作为带有自定义子导航层的打字稿生成的自定义导航点?

4

1 回答 1

1

将您的自定义内容放在第一级菜单设置上。试试这个:

field_main_navigation = HMENU
field_main_navigation {
  1 = TMENU
  1 {
    expAll = 1

    NO.wrapItemAndSub {
      append = COA
      append {
        if {
          value.field = uid
          equals = 2
        }

        # a lot of typoscript, basically:
        # two COA's, one with two HMENU, the 
        # other one with plugin content
        10 = COA
        # ...

        20 = COA
        # ...
      }

      wrap3 = <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>

    NO = 1
    NO {
      allWrap = <li>|</li>
    }
  }
}

注意:我对第二个 TMENU 的包装有点困惑。第一级项目中是否有任何真正的子页面?

于 2012-01-19T17:12:25.080 回答