0

TypoScriptで生成されたメニューの3番目の項目をすべてラップしようとしています。

これは私のメニューです:

tt_content.menu.20.4 >
tt_content.menu.20.4 < tt_content.menu.20.1
tt_content.menu.20.4.stdWrap.outerWrap = <div class="my-menu">|</div>
tt_content.menu.20.4.1.wrap = <ul>|</ul>
tt_content.menu.20.4.1.NO {
    doNotLinkIt = 1
    stdWrap.htmlSpecialChars = 0
    stdWrap.cObject = COA
    stdWrap.cObject {
        # title
        10 = TEXT
        10 {
            field = title
            typolink.parameter.field = uid
            typolink.ATagParams = class="more"
        }

        # abstract
        20 = TEXT
        20 {
            field = abstract
            htmlSpecialChars = 1
            wrap = <span>|</span>
        }
    }
}

経由すべてのメニュー項目に異なるラップを適用するにはどうすればよいですか?すべてのアイテムを異なる方法でラップする方法を知っていますが、3つのアイテムを一緒にラップする方法はありますか?また、アイテムが3%x = 0を超える場合、たとえば14の場合、最後の開始タグは最後のアイテムで閉じる必要があります。

現在の出力:

<ul class="csc-menu csc-menu-1">
    <li>
        <a href="index.php?id=1">Page 1</a>
    </li>
    <li>
        <a href="index.php?id=2">Page 2</a>
    </li>
    <li>
        <a href="index.php?id=3">Page 3</a>
    </li>
    <li>
        <a href="index.php?id=4">Page 4</a>
    </li>
    <li>
        <a href="index.php?id=5">Page 5</a>
    </li>
    <li>
        <a href="index.php?id=6">Page 6</a>
    </li>
    <li>
        <a href="index.php?id=7">Page 7</a>
    </li>
    <li>
        <a href="index.php?id=8">Page 8</a>
    </li>
    <li>
        <a href="index.php?id=9">Page 9</a>
    </li>
</ul>

必要な出力、次のようなもの:

<div class="pack">
    <a href="index.php?id=1">Page 1</a>
    <a href="index.php?id=2">Page 2</a>
    <a href="index.php?id=3">Page 3</a>
</div>
<div class="pack">
    <a href="index.php?id=4">Page 4</a>
    <a href="index.php?id=5">Page 5</a>
    <a href="index.php?id=6">Page 6</a>
</div>
<div class="pack">
    <a href="index.php?id=7">Page 7</a>
    <a href="index.php?id=8">Page 8</a>
    <a href="index.php?id=9">Page 9</a>
</div>
<div class="pack">
    <a href="index.php?id=10">Page 10</a>
    <a href="index.php?id=11">Page 11</a>
</div>
4

2 に答える 2

4

基本的にあなたは2つの質問をしています。

ただし、どちらの場合もoptionSplitを使用できます。[1.]

最初:「3つおきのアイテムをラップする」

コードは次のようになります。

tt_content.menu.20.4.1.NO.allWrap = |*| <ul>|</ul> || <ul>|</ul> || <ul class="third">|</ul> |*|

2番目:「3つのアイテムを一緒にラップする方法はありますか」

コードは次のようになります。

tt_content.menu.20.4.1.NO.allWrap = |*| <div class="threepack"> <ul>|</ul> || <ul>|</ul> || <ul>|</ul> </div> |*|

これらの場合、optionSplitがどのように機能しないか:

  • 最初と最後の部分がないため、中央の部分がすべてのアイテムに循環されます。
  • 真ん中の部分も3つのサブパートで構成されています。

お役に立てば幸いです。

PS:答えを受け入れることを忘れないでください;-)

リンク:

  1. http://wiki.typo3.org/TSref/optionSplit
于 2013-01-24T08:28:22.103 に答える
2

以下のタイプミスが役立つ場合があります(ページメニューで3つのページリンクをグループ化するためのものであり、要件に応じて変更する必要があります)。

page.234 = COA
page.234{
wrap = <ul> |</ul>
10 = HMENU
10.1 = TMENU
10.special = directory
10.special.value = 1
10.1 {
wrap = <li><ul>|</ul></li>
begin = 1
maxItems = 3
NO {
   allWrap = <li> |</li>
}
}
20 < .10
20.1.begin = 6
30 < .10
30.1.begin = 9
# etc. etc.
}
于 2013-01-23T17:40:09.723 に答える