【发布时间】:2019-02-01 18:12:14
【问题描述】:
问题如下。我创建了一个手风琴作为包含三个表格的内容元素。
第一个是 tt_content 表,它与 accordionsettings 表有 1-1 的关系。
accordionsettings 表与 accordioncontent 之间存在 1-n 关系。
手风琴内容
这是我后端的结果:
到目前为止一切正常。当我尝试在同一页面上呈现多个元素时出现问题。我的意思是:
案例:我在网站顶部有一个手风琴内容元素,在底部有一个。这意味着,我创建了两个不同的内容元素。
我的数据正在处理中
ext_name/Configuration/Setup/tt_content.typoscript
ext_accordion < lib.contentElement
ext_accordion {
templateRootPaths.30 = {$ExtPrivate}Templates/
partialRootPaths.30 = {$ExtPrivate}Partials/
templateName = Accordion.html
dataProcessing {
30 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
30 {
table = accordionsettings
as = accordionsettings
dataProcessing {
50 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
50 {
if.isTrue.field = accordion_content_relation
table = accordioncontent
pidInList = this
where.field = uid
where.intval = 1
where.dataWrap = accordionsettings = |
as = accordionContents
dataProcessing {
70 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
70 {
references.fieldName = files
as = images
}
}
}
}
}
}
}
我在调试时在前端得到的结果如下:
问题:我想在网站上呈现这两个,但正如你所看到的,它以数组的形式返回了我的结果。这意味着如果我想在流体上声明一个变量来读取信息,我必须包括数字 0 和 1。如果我有三个手风琴元素,那么我也必须包括 2。这不是动态的,也不是一个选项。目前的变量如下:
- accordionsettings.0.data.accordion_speed
- accordionsettings.0.accordionContents
问题:我怎样才能得到这样的变量并且仍然渲染两个手风琴?
- accordionsettings.data.accordion_speed
- accordionsettings.accordionContents
我必须以不同的方式重建整个事物吗?我现在处于死胡同。
编辑 @Claus Due
我尝试创建一个循环,它看起来像这样:
<f:for each="{accordionsettings}" as="settings" key="key">
<div class="grid-container">
<div class="grid-x">
<div class="cell">
<f:alias map="{
speed: settings.data.accordion_speed,
multiexpand:settings.data.accordion_multiexpand,
allClosed:settings.data.accordion_all_closed,
disabled:settings.data.accordion_disabled,
accordionContents:settings.accordionContents
}">
<f:debug>{settings}</f:debug>
<f:render partial="Accordion/Accordion" arguments="{speed: speed, multiexpand: multiexpand, allClosed: allClosed, disabled: disabled, accordionContents: accordionContents}"/>
</f:alias>
</div>
</div>
</div>
</f:for>
但我在前端得到的是以下内容:
它为创建的每个元素呈现所有手风琴元素。
【问题讨论】:
标签: typo3 css-tables fluid