0

2つの列(colPos=0とcolPos=2)のWebサイトがあります。列2のヘッダーをセクションインデックスに含めることはできますか?デフォルトの動作では、列0のヘッダーのみが含まれます。

具体的には、メニューの生成に使用するTypoScriptを次に示します。

lib.menupage = HMENU
lib.menupage {
  1 = TMENU
  1 {
    wrap = <ul> | </ul>
    NO.wrapItemAndSub = <li> | </li>
    sectionIndex = 1
  }
}

私はTYPO36.0を使用しています。

4

2 に答える 2

2

私はあなたが探していると思います

lib.menupage.1.sectionIndex.useColPos = -1

しかし、これはTYPO36.0でのみ利用可能のようです

回避策として、自分でそれを行うことが可能であるはずです。通常のメニューをレンダリングしますが、そのページのtt_contentからすべてのヘッダーを取得するCONTENTオブジェクトでリンクをオーバーライドします(allWrap.cObjectがその役割を果たします)。これは、私がその問題を解決しようとする方法を説明するのに役立ついくつかの擬似コードです。このコードは機能しません。原則を示してください。

lib.menupage = HMENU
lib.menupage {
  1 = TMENU
  1 {
    wrap = <ul> | </ul>
    NO.wrapItemAndSub = <li> | </li>
    # pgampe suggested to use: stdWrap2.append instead of allWrap.cObject. My intention
    # was to override the original link at all. But you should be able to play with
    # the different stdWrap functions to get the best solution
    # as far as i remember, allWrap will be wrapped by "wrapItemAndSub"
    NO.allWrap.cObject = CONTENT
    NO.allWrap.cObject {
       table = tt_content
       select {
         # the uid is the id of the page where we need the content from
         pidInList.field = uid
         orderBy = colPos, sorting
       }
       # inside the renderobj we get the elements which are retrieved by CONTENT
       renderObj = TEXT
       renderObj {
         field = header
         typolink.parameter.field = pid
         typolink.section.field = uid
         required = 1
         wrap = <span class="inside-li">|</span>
       }
    }
  }
}
于 2012-12-28T18:18:45.970 に答える
0

section indexで関数を探している可能性がありmenu content objectます。

レンダリングはで定義されていtt_content.menu.20.3.stdWrap.prepend.20 = CONTENTます。を使用しTSOB (TypoScript Object Browser)て、関連する設定を調査できtyposcriptます。

CONTENTあなたはTYPO3の他のオブジェクトのようにあなたのニーズにそれを調整することができます。ただし、すでに任意の列を選択している必要があります(少なくとも6.0では)。

于 2012-12-14T18:16:03.637 に答える