【发布时间】:2017-05-17 09:13:58
【问题描述】:
我通过 XML 有一个正常的 TYPO3 TCA 组元素:
<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>
但是对于正确的输出,我需要一个数组,而不是字符串。如果我使用 Vhs "v:iterator.explode" 它适用于来自 tt_content 的 uid,但我不需要 uid,我需要 uid 后面的对象。
我得到的只是普通的 Comma-UID-List:https://docs.typo3.org/typo3cms/TCAReference/6.2/Reference/Columns/Group/Index.html#the-comma-list-method-default
我能做什么?我需要控制器中的另一个 php 吗?谢谢!
【问题讨论】:
标签: php arrays xml typo3 fluid