3

私の問題は簡単に解決できると思いますが、何日も考えていて、グーグルは役に立ちませんでした。多分私は概念を理解していないだけです:-)。

私のプロバイダー拡張では、1 つの構成オプションを持つ単純なメイン ページを定義します。ページに対する「fontawesomeicon」の内容に応じて、対応する Fontawesome-Icon がメニュー エントリ テキストの前に配置されます。しかし、このように実装すると、すべてのページ メニュー エントリが実際のページから Icon を取得します。対応する {fontawesomeicon} がこのエントリが属するページから取得されることをシステムに伝える方法がわかりません。

それを機能させるためのヒントをありがとう。Typo3 7.1を使用しています

ページ構成 Fullpage.html:

<f:section name="Configuration">
    <flux:form id="fullpage" />
    <flux:grid>
        <flux:grid.row>
            <flux:grid.column colPos="0" name="main" />
        </flux:grid.row>
    </flux:grid>
    <flux:field.input name="fontawesomeicon" />
</f:section>

部分的な設定 Elements.html:

<f:section name="MainMenu">
    <ul class="sf-menu">
        <v:page.menu pageUid="{settings.startpageUid}" entryLevel="2" levels="2" expandAll="TRUE" as="menu">
            <f:for each="{menu}" as="item">
                <li class="{item.class}">
                    <a href="{item.link}"><i class="fa fa-lg {fontawesomeicon}"></i>&nbsp;{item.linktext}</a>
                    <f:if condition="{item.hasSubPages}">
                        <ul>
                            <f:render section="SubMenu" arguments="{_all}" />
                        </ul>
                    </f:if>
                </li>
            </f:for>
        </v:page.menu>
    </ul>
</f:section>

<f:section name="SubMenu">
    <v:page.menu pageUid="{item.uid}" entryLevel="2" levels="1" as="submenu">
        <f:for each="{submenu}" as="subitem">
            <li class="{subitem.class}">
                <a href="{subitem.link}"><i class="fa {fontawesomeicon}"></i>&nbsp;{subitem.linktext}</a>
            </li>
        </f:for>
    </v:page.menu>
</f:section>

完成させるために...ページレイアウトファイルPage.htmlにまとめます:

<f:layout name="Page" />
<f:render section="MainMenu" partial="Elements" arguments="{_all}" />
<f:render section="Main" />
4

2 に答える 2

2

最後にそれを手に入れました。それは古い問題です... 本当の問題にたどり着かない場合、どのように正しい質問をしますか。別の投稿 (flexform へのアクセスについて) で、最終的なヒントが得られました。わーい!

<f:section name="MainMenu">
    <ul class="sf-menu">
        <v:page.menu pageUid="{settings.startpageUid}" entryLevel="2" levels="2" expandAll="TRUE" as="menu">
            <f:for each="{menu}" as="item">
                <li class="{item.class}">
 <!--new:-->        <flux:form.data table="pages" field="tx_fed_page_flexform" uid="{item.uid}" as="menuIcon">
                        <a href="{item.link}"><i class="fa fa-lg {menuIcon.fontawesomeicon}"></i>&nbsp;{item.linktext}</a>
 <!--new:-->        </flux:form.data>
                    <f:if condition="{item.hasSubPages}">
                        <ul>
                            <f:render section="SubMenu" arguments="{_all}" />
                        </ul>
                    </f:if>
                </li>
            </f:for>
        </v:page.menu>
    </ul>
</f:section>

<f:section name="SubMenu">
    <v:page.menu pageUid="{item.uid}" entryLevel="2" levels="1" as="submenu">
        <f:for each="{submenu}" as="subitem">
            <li class="{subitem.class}">
 <!--new:-->    <flux:form.data table="pages" field="tx_fed_page_flexform" uid="{subitem.uid}" as="subMenuIcon">
                    <a href="{subitem.link}"><i class="fa {subMenuIcon.fontawesomeicon}"></i>&nbsp;{subitem.linktext}</a>
 <!--new:-->    </flux:form.data>
            </li>
        </f:for>
    </v:page.menu>
</f:section>
于 2015-07-22T21:50:25.000 に答える