Twitter bootstrap 打字3–;DCE扩展:获取当前DCE实例和节实例的UID
我正在使用TYPO3 6.2中的动态内容元素(dce)构建Twitter引导手风琴元素。Twitter bootstrap 打字3–;DCE扩展:获取当前DCE实例和节实例的UID,twitter-bootstrap,typo3,fluid,typo3-6.2.x,Twitter Bootstrap,Typo3,Fluid,Typo3 6.2.x,我正在使用TYPO3 6.2中的动态内容元素(dce)构建Twitter引导手风琴元素。 为此,我构建了一个accordiondce,其中包含一个存储所有accordion项目的section元素 现在,Bootstrap要求我有一种从每个accordion项中引用整个accordion实例的方法。(这是必需的,因为同一页上可能有多个手风琴。) 我找到了一种使用{contentObject.uid}实现这一点的方法。这给了我DCE的TYPO3内容元素uid,它是唯一的。最好每页都有一个从1开始的
为此,我构建了一个accordiondce,其中包含一个存储所有accordion项目的section元素 现在,Bootstrap要求我有一种从每个accordion项中引用整个accordion实例的方法。(这是必需的,因为同一页上可能有多个手风琴。) 我找到了一种使用{contentObject.uid}实现这一点的方法。这给了我DCE的TYPO3内容元素uid,它是唯一的。最好每页都有一个从1开始的计数器。我猜,DCE持有类似的东西,但我现在有了如何访问它的线索 真正的问题是,我还需要为整个手风琴中的每个手风琴项目提供一个唯一的id。DCE中应该有一些section元素uid,但同样,我现在知道了它是如何命名的,以及如何从流体模板访问它 以下是我当前的DCE流体模板:
{namespace dce=Tx_Dce_ViewHelpers}
<f:layout name="Default" />
<f:section name="main">
<div class="panel-group" id="accordion_{contentObject.uid}">
<f:for each="{field.accelement}" as="accordion-element">
<div class="panel panel-primary">
<button type="button" class="btn btn-primary btn-block" data-toggle="collapse" data-parent="#accordion_{contentObject.uid}" data-target="#collapse_{accordion-element.uid}">{accordion-element.elheadline}</button>
<div id="collapse_{accordion-element.uid}" class="panel-collapse collapse">
<div class="panel-body">
{accordion-element.elcontent}
</div>
</div>
</div>
</f:for>
</div>
</f:section>
{namespace dce=Tx\u dce\u viewerhelpers}
{accordion元素.elheadline}
{accordion element.elcontent}
不工作的元素是{accordion element.uid}。我尝试了从{accordion element.id}到{field.accelement.id}和{field.accelement.uid}的任何东西,但没有成功。好吧,像往常一样:休息了一会后,我立即看到了两个小时前找不到的解决办法 在for each循环中添加一个key属性可以发挥神奇的作用
{namespace dce=Tx_Dce_ViewHelpers}
<f:layout name="Default" />
<f:section name="main">
<div class="panel-group" id="accordion_{contentObject.uid}">
<f:for each="{field.accelement}" key="n" as="accordion-element">
<div class="panel panel-primary">
<button type="button" class="btn btn-primary btn-block" data-toggle="collapse" data-parent="#accordion_{contentObject.uid}" data-target="#collapse_{contentObject.uid}_{n}">{accordion-element.elheadline}</button>
<div id="collapse_{contentObject.uid}_{n}" class="panel-collapse collapse">
<div class="panel-body">
{accordion-element.elcontent}
</div>
</div>
</div>
</f:for>
</div>
</f:section>
{namespace dce=Tx\u dce\u viewerhelpers}
{accordion元素.elheadline}
{accordion element.elcontent}
为了确保即使多个手风琴放在同一页上,所有手风琴项目都是唯一的,我们必须同时使用contentObject.uid和当前循环键:collapse{contentObject.uid}{n}