Gridelements 和 flexforms:通过短虚拟名称访问 flexform 值
Gridelements and flexforms: Access of flexform values by short virtual names
我有一个 gridelement 与 flexform 结合用于某些配置,无法通过“flexform_fieldname”读取给定的 flexform 值
系统/版本:
- TYPO3 9.5
- Gridelements 9.2
设置 Gridelement:
pageStripe {
frame = 3
config {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Title
colPos = 10
}
}
}
}
}
flexformDS = FILE:EXT:path/to/PageStripe.xml
}
弹性结构:
<bgcolor type="array">
<TCEforms>
<label>Label</label>
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">Default (no background color)</numIndex>
<numIndex index="1">default</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</bgcolor>
我的 gridelement 布局中的流体输出 html:
<f:debug>{flexform_bgcolor}</f:debug> // output = NULL
<f:debug>{data.flexform_bgcolor}</f:debug> // output = NULL
<f:debug>{data.pi_flexform.data.general.lDEF.bgcolor.vDEF}</f:debug> // output = correct value
问题:这是我的代码配置错误还是最新版本的gridelements中的错误,短虚拟名称无法读取flexform值(flexform_bgcolor 而不是 data.pi_flexform.data.general.lDEF.bgcolor.vDEF),即使 "resolveFlexFormData" 设置为 1?
这既不是错误也不是配置错误,但在启用数据处理的情况下,您必须在 FLUIDTEMPLATE 中。因此,无需在虚拟字段中提供 FlexForm 值,因为您可以直接从 Fluid 中访问数组键,而这在 TypoScript 中是不可能的。
因此,使用 uf userFunc 的 "old school" TypoScript 静态模板文件仍然提供这些字段,而新的和推荐的静态模板文件则没有。
我有一个 gridelement 与 flexform 结合用于某些配置,无法通过“flexform_fieldname”读取给定的 flexform 值
系统/版本:
- TYPO3 9.5
- Gridelements 9.2
设置 Gridelement:
pageStripe {
frame = 3
config {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Title
colPos = 10
}
}
}
}
}
flexformDS = FILE:EXT:path/to/PageStripe.xml
}
弹性结构:
<bgcolor type="array">
<TCEforms>
<label>Label</label>
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">Default (no background color)</numIndex>
<numIndex index="1">default</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</bgcolor>
我的 gridelement 布局中的流体输出 html:
<f:debug>{flexform_bgcolor}</f:debug> // output = NULL
<f:debug>{data.flexform_bgcolor}</f:debug> // output = NULL
<f:debug>{data.pi_flexform.data.general.lDEF.bgcolor.vDEF}</f:debug> // output = correct value
问题:这是我的代码配置错误还是最新版本的gridelements中的错误,短虚拟名称无法读取flexform值(flexform_bgcolor 而不是 data.pi_flexform.data.general.lDEF.bgcolor.vDEF),即使 "resolveFlexFormData" 设置为 1?
这既不是错误也不是配置错误,但在启用数据处理的情况下,您必须在 FLUIDTEMPLATE 中。因此,无需在虚拟字段中提供 FlexForm 值,因为您可以直接从 Fluid 中访问数组键,而这在 TypoScript 中是不可能的。
因此,使用 uf userFunc 的 "old school" TypoScript 静态模板文件仍然提供这些字段,而新的和推荐的静态模板文件则没有。