2017-05-17 49 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液代碼:

<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's,但我不需要的UID,我需要的UID後面的對象。

我得到的是正常的逗號UID-列表:https://docs.typo3.org/typo3cms/TCAReference/6.2/Reference/Columns/Group/Index.html#the-comma-list-method-default

我能做些什麼?我需要在控制器中使用另一個PHP嗎?謝謝!

回答

1

使用 五:在一個循環中content.get 視圖助手,並設置tt_content UID列表作爲參數

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

類似的東西,我沒有這個現在就試試自己,但你得到的想法...心連心

+0

感謝您的幫助! 但一個錯誤正在添加:變量「每個」與類型「陣列」註冊,但是類型「字符串」的視圖助手 –

+0

此正常工作: 的ν:iterator.explode()}',呈現: '假')}」作爲= 「元件」> \t \t \t \t \t \t {element.header} \t \t \t \t \t –

0

這工作得很好:

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

感謝@Wolfgang