#typo3 #typo3-9.x #tx-gridelements
#typo3 #typo3-9.x #tx-элементы сетки
Вопрос:
У меня есть элемент сетки, объединенный с гибкой формой для некоторой конфигурации, и я не могу прочитать заданное значение гибкой формы с помощью «flexform_fieldname»
Система / версии:
- TYPO3 9.5
- Элементы сетки 9.2
Настройка элемента сетки:
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>
Жидкий вывод в 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_bgcolor вместо data.pi_flexform.data.general.lDEF.bgcolor.vDEF), даже если для «resolveFlexFormData» установлено значение 1?
Ответ №1:
Это не ошибка и не неправильная настройка, но при включенной обработке данных вы должны находиться в пределах FLUIDTEMPLATE. Таким образом, нет необходимости указывать значения гибкой формы в виртуальных полях, поскольку вы можете получить доступ к ключам массива непосредственно из Fluid, что невозможно из TypoScript.
Таким образом, статический файл шаблона TypoScript «старой школы», который использует uf userFunc, по-прежнему предоставляет эти поля, в то время как новый и рекомендуемый статический — нет.