私の問題は簡単に解決できると思いますが、何日も考えていて、グーグルは役に立ちませんでした。多分私は概念を理解していないだけです:-)。
私のプロバイダー拡張では、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> {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> {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" />