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

カスタムコンテンツを第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>
    }
  }
}

:2番目のTMENUの折り返しに少し混乱しています。第1レベルのアイテムのいずれかに実際のサブページがありますか?

于 2012-01-19T17:12:25.080 に答える