2017-05-17 6 views
0

私はXMLを経由して、通常のTYPO3 TCAグループの要素を持っている:TYPO3 - TCAグループtt_content - 配列?

<tabNavi> 
    <ROOT> 
     <TCEforms> 
      <sheetTitle>Tab Navi</sheetTitle> 
     </TCEforms> 
     <type>array</type> 
     <el> 
      <!-- Tab Navi Settings --> 
      <settings.tabNavi.headlines> 
       <TCEforms> 
        <label>Auswahl der Tabs</label> 
        <config> 
         <type>group</type> 
         <internal_type>db</internal_type> 
         <allowed>tt_content</allowed> 
         <size>5</size> 
         <minitems>0</minitems> 
         <maxitems>6</maxitems> 
         <show_thumbs>1</show_thumbs> 
         <wizards> 
          <_PADDING>1</_PADDING> 
          <_VERTICAL>1</_VERTICAL> 
          <suggest> 
           <type>suggest</type> 
           <default> 
            <searchWholePhrase>1</searchWholePhrase> 
           </default> 
          </suggest> 
         </wizards> 
        </config> 
       </TCEforms> 
      </settings.tabNavi.headlines> 
     </el> 
    </ROOT> 
</tabNavi> 

、ここコントローラーPHP:

class ElementsController extends BaseController { 

    /** 
    * @var \TYPO3\CMS\Extbase\Object\ObjectManager 
    * @inject 
    */ 
    protected $objectManager; 

    /** 
    */ 
    public function setObjectManager($objectManager) 
    { 
     $this->objectManager = $objectManager; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getObjectManager() 
    { 
     return $this->objectManager; 
    } 

    /** 
    * @return void 
    */ 
    public function tabNaviAction() 
    { 

    } 
} 

、ここでTYPO3のFLUIDコード:

<nav class="content-nav-tabs sticky affix-top"> 
    <ul class="nav nav-tabs item-detail-tabs"> 
     <li role="presentation" class="active"><a href="#top" rel="nofollow" title="Übersicht">Übersicht</a></li> 
     <f:debug>{settings.tabNavi.headlines}</f:debug> 


     <f:for each="{settings.tabNavi.headlines}" as="navTabsItem"> 
      <li role="presentation"><a href="#c{navTabsItem.uid}" rel="nofollow" title="{navTabsItem.header}">{navTabsItem.header}</a></li> 
     </f:for> 
    </ul> 
</nav> 

だがについて正しい出力私は文字列ではなくARRAYが必要です。 Vhs "v:iterator.explode"を使用すると、tt_contentのuidには問題ありませんが、uidは必要ありません。私はuidの背後にオブジェクトが必要です。

私が得るすべては、通常のカンマUID-一覧です:https://docs.typo3.org/typo3cms/TCAReference/6.2/Reference/Columns/Group/Index.html#the-comma-list-method-default

私は何ができますか?コントローラに別のPHPが必要ですか?ありがとう!

答えて

1

Vを使用します。そのような何かをループでcontent.get ビューヘルパーを、パラメータ

<f:for each="{v:content.get(contentUids: {settings.tabNavi.headlines -> v:iterator.explode()}, render: 'FALSE')}" as="element"> 
    … 
</f:for> 

としてtt_content uidのリストを設定し、私は今、この自分自身を試していないが、あなたが得ますこれが正常に動作します

+0

助けてくれてありがとう! エラーが発生しています:引数 "each"はタイプ "array"に登録されていますが、ビューヘルパー –

+0

では "string"タイプです。 \t \t \t \t \t \t {element.header} \t \t \t \t \t –

0

アイデア... HTH:

<f:for each="{v:content.get(contentUids: '{settings.tabNavi.headlines -> v:iterator.explode()}', render: 'FALSE')}" as="navTabsItem"> 
    {navTabsItem.header} 
</f:for> 

おかげ@Wolfgang

関連する問題