Hi,
ich möchte im TYPO3 7.6 Standard Mailform grundsätzlich ein Hidden-Field einbinden, wenn ein Nutzer das Inhaltselement einbindet.
Folgendes habe ich versucht:
tt_content.mailform = COA_INT
tt_content.mailform.20.hiddenFields.test = TEXT
tt_content.mailform.20.hiddenFields.test.data = TSFE:id
Jedoch wird das nicht in das Form eingefügt.
Was mache ich falsch, oder geht so etwas generell nicht?
Danke vorab!
Da die neue Mailform Extension hiddenFields offenbar nicht mehr kennt habe ich es nun so gelöst:
# Alternativen Partial Pfad um Hidden Elemente mit TypoScript zu vereinen
plugin.tx_form {
view.partialRootPaths.20 = mypath/templates/ext/form/html/
settings.registeredElements.HIDDEN.visibleInMail = 1
}
# Wohnungsdaten auslesen
lib.form.wohnungsdaten = RECORDS
lib.form.wohnungsdaten {
source.data = GP:wohnung
tables = tx_bnwa_domain_model_wohnungsangebot
conf.tx_bnwa_domain_model_wohnungsangebot = COA
conf.tx_bnwa_domain_model_wohnungsangebot {
10 = TEXT
10.field = wie_nummer
10.noTrimWrap = ||, |
20 < .10
20.field = objekt_schluessel
30 < .10
30.field = ve_nummer
40 < .10
40.field = ueberschrift
40.noTrimWrap = |||
}
}
# Spezielles Rendering des Formulars
tt_content.mailform = COA_INT
tt_content.mailform {
# Überschrift anzeigen wenn eine Wohnungs ID da ist
15 = RECORDS
15 {
source.data = GP:wohnung
tables = tx_bnwa_domain_model_wohnungsangebot
conf.tx_bnwa_domain_model_wohnungsangebot = TEXT
conf.tx_bnwa_domain_model_wohnungsangebot {
field = ueberschrift
wrap = <h2><strong>Wohnung: </strong>|</h2><p> </p>
required = 1
}
}
# In dem Hidden.html partial wird das TypoScript nun gerendert
20.10 = HIDDEN
20.10 {
name = wohnung
value = lib.form.wohnungsdaten
# self made hook (schau in das alternative partial die if condition in der value)
renderValueAsTypoScript = 1
}
25 = RESTORE_REGISTER
}
Hidden.html Partial
<li class="csc-form-{model.elementCounter} csc-form-element csc-form-element-{model.elementTypeLowerCase}">
<f:form.hidden
class="{model.additionalArguments.class}"
dir="{model.additionalArguments.dir}"
id="{model.additionalArguments.id}"
lang="{model.additionalArguments.lang}"
style="{model.additionalArguments.style}"
title="{model.additionalArguments.title}"
accesskey="{model.additionalArguments.accesskey}"
tabindex="{model.additionalArguments.tabindex}"
onclick="{model.additionalArguments.onclick}"
name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
value="{f:if(condition:'{model.additionalArguments.renderValueAsTypoScript}',then:'{f:cObject(typoscriptObjectPath:\'{model.additionalArguments
additionalAttributes="{model.htmlAttributes}"
/>
</li>
Ggf. müssen noch 2 Partials für den Mailversand angepasst werden. Einfach die Partials aus der form sysext "/Default/PostProcessor/Mail/Html" (und text) für das Textfield.html kopieren als Hidden.html
Dann klappt es auch mit dem Mail Versand der versteckten Felder, dynamisch mit TypoScript.