У меня есть несколько форм, и у всех есть флажок конфиденциальности, который обозначен identifier: privacyCheckbox
, и я хочу динамически отображать / переопределять некоторую конфигурацию с помощью typoscript.
Это действительно отлично работает, если я точно знаю форму идентификатор и положение поля:
plugin.tx_form {
settings {
formDefinitionOverrides {
# "defaultContact" is my form's name
defaultContact {
renderables {
0 {
renderables {
# "7" is the order/position of the privacy field in the form definition
7 {
renderingOptions {
translation {
arguments {
label {
0 = TEXT
0.typolink {
parameter = {$global.pids.privacyPage}
returnLast = url
forceAbsoluteUrl = 1
}
}
}
}
}
}
}
}
}
}
}
}
}
Вместо «7» я даже мог бы использовать aSpecificKey
, если бы мое определение формы YAML выглядело бы так ...
renderables:
myEmailKey:
defaultValue: ''
type: Text
identifier: email
label: E-Mail
aSpecificKey:
type: Checkbox
identifier: privacyCheckbox
Но я хотите, чтобы редактор позволял редактировать форму и переупорядочивать поля, поэтому он всегда будет сохраняться как ...
renderables:
-
defaultValue: ''
type: Text
identifier: email
label: E-Mail
-
type: Checkbox
identifier: privacyCheckbox
..., что приведет к созданию внутреннего массива c всех полей.
Итак, теперь мои вопросы:
- Есть ли способ применить мои настройки переопределения для всех форм и не применять их к каждой форме по ее имени?
- Есть ли другой способ применить переопределения к полю без ручного изменения сгенерированного YAML или без подсчета позиции поля в форме? То есть, я установил
identifier: privacyCheckbox
в определении - правильно ли, что я не могу использовать этот идентификатор для доступа к полю?