2

TYPO3 CMS では、ページを定義したメニューを非常に簡単に作成できます。これは Neos と Typoscript2 でどのように機能しますか?

Typoscript1 コードは次のとおりです。

Menu1 = HMENU
Menu1 {
    special = directory
    special.value = 1,6,7
    wrap = <div class="somemenu">|</div>
}

たとえば、私はこのページ構造を持っています:

  • サイト1
  • サイト 2
  • サイト3
    • サイト4
    • サイト5
    • サイト6
  • サイト7

そして、Site1、Site6、Site7 のみを含むメニューが必要です。

フッターにそのメニューが必要です。

4

3 に答える 3

0

最適なソリューションは既にデモ パッケージに含まれていると思います。ページ メニューに通常のページとして表示したくないページ FooterMenu を作成できます。メニュー ページを子ショートカット ノードとしてページ/ノード ツリーに追加します。

次に、このタイプスクリプトを root.ts2 に追加します

metaMenu = Menu {
    entryLevel = 2
    templatePath = 'resource://Vendor.PackageName/Private/Templates/TypoScriptObjects/FooterMenu.html'
    maximumLevels = 1
    startingPoint = ${q(site).children('footermenu').get(0)}
}

メニューのテンプレートを作成します。

{namespace neos=TYPO3\Neos\ViewHelpers}
<f:render section="itemList" arguments="{items: items}" />

<f:section name="itemList">
<nav class="nav" role="navigation">
    <ul class="nav nav-pills">
        <f:for each="{items}" as="item" iteration="menuItemIterator">
            <li class="{item.state}">
                <neos:link.node node="{item.node}">{item.label}</neos:link.node>
            </li>
        </f:for>
    </ul>
</nav>
</f:section>

最後に、ページ テンプレートに footerMenu を配置する必要があります。

<div class="footer">
    {parts.footerMenu -> f:format.raw()}
</div>

このソリューションの唯一の欠点は、ショートカットを使用する必要があることです。これは、SEO にとって最適なソリューションではないと思います。また、リダイレクトによりページの読み込み時間が長くなります。ただし、一部のコードを拡張する必要はなく、準備ができたら別のソリューションを使用できます。

于 2014-03-01T12:33:45.113 に答える