Typo3 Formhandler在一个页面上处理多个表单
我一直使用formhandler在一个页面上创建多个表单。到目前为止,我在设置变量中完成了以下代码Typo3 Formhandler在一个页面上处理多个表单,typo3,typoscript,Typo3,Typoscript,我一直使用formhandler在一个页面上创建多个表单。到目前为止,我在设置变量中完成了以下代码 plugin.Tx_Formhandler.settings { debug = 0 formValuesPrefix = formhandler singleErrorTemplate { totalWrap = <div class="error">|</div> singleWrap = <span class="messag
plugin.Tx_Formhandler.settings {
debug = 0
formValuesPrefix = formhandler
singleErrorTemplate {
totalWrap = <div class="error">|</div>
singleWrap = <span class="message">|</span>
}
preProcessors {
1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
1 {
config.1 {
name.defaultValue = Name
email.defaultValue = E-Mail
}
}
}
validators {
1.class = Validator_Default
1.config.fieldConf {
name {
errorCheck.1 = required
}
email {
errorCheck.1 = required
errorCheck.2 = email
}
}
}
singleErrorTemplate {
totalWrap = <div class="error">|</div>
singleWrap = <span class="message">|</span>
}
finishers {
# Finisher_Mail sends emails to an admin and/or the user.
1.class = Finisher_Mail
# Finisher_Redirect will redirect the user to another page after the form was submitted successfully.
5.class = Finisher_Redirect
5.config {
redirectPage = {$formhandlerExamples.basic.contact-form.redirectPage}
}
}
}
plugin.Tx\u Formhandler.settings{
调试=0
formValuesPrefix=formhandler
单一错误模板{
总包裹=|
单包裹=|
}
预处理器{
1.class=Tx\u Formhandler\u预处理器\u LoadDefaultValues
1 {
配置1{
name.defaultValue=name
email.defaultValue=电子邮件
}
}
}
验证器{
1.class=验证程序\默认值
1.config.fieldConf{
名字{
errorCheck.1=必需
}
电子邮件{
errorCheck.1=必需
errorCheck.2=电子邮件
}
}
}
单一错误模板{
总包裹=|
单包裹=|
}
终结者{
#Finisher_Mail向管理员和/或用户发送电子邮件。
1.class=收信人邮件
#Finisher_Redirect将在表单成功提交后将用户重定向到另一页。
5.class=修整器重新定向
5.config{
redirectPage={$formhandlerExamples.basic.contact form.redirectPage}
}
}
}
但现在我想在我的网站上添加第二个表单。如果我只是添加第二个plugin.Tx_Formhandler.settings{}和一个新的formValuesPrefix,它就不起作用了。我只收到一个“捕获异常:未找到模板”错误
当我删除第一个窗体和第一个设置时,我的窗体正在工作
我可以用一个教程或其他东西来介绍如何在一个页面上使用formhandler添加多个表单。我终于明白了这一点。您需要做的是使用settings.predef而不是标准设置。比如说
plugin.Tx_Formhandler.settings.predef.formhandler {
# This name appears in the dropdown selector in plugin record
name = Newsletter Contact
debug = 0
formValuesPrefix = formhandler
singleErrorTemplate {
totalWrap = <div class="error">|</div>
singleWrap = <span class="message">|</span>
}
validators {
1.class = Validator_Default
1.config.fieldConf {
name {
errorCheck.1 = required
}
email {
errorCheck.1 = required
errorCheck.2 = email
}
}
}
singleErrorTemplate {
totalWrap = <div class="error">|</div>
singleWrap = <span class="message">|</span>
}
finishers {
# Finisher_Mail sends emails to an admin and/or the user.
1.class = Finisher_Mail
# Finisher_Redirect will redirect the user to another page after the form was submitted successfully.
5.class = Finisher_Redirect
5.config {
redirectPage = 8
}
}
}
plugin.Tx\u Formhandler.settings.predef.Formhandler{
#此名称出现在插件记录的下拉选择器中
姓名=通讯联系人
调试=0
formValuesPrefix=formhandler
单一错误模板{
总包裹=|
单包裹=|
}
验证器{
1.class=验证程序\默认值
1.config.fieldConf{
名字{
errorCheck.1=必需
}
电子邮件{
errorCheck.1=必需
errorCheck.2=电子邮件
}
}
}
单一错误模板{
总包裹=|
单包裹=|
}
终结者{
#Finisher_Mail向管理员和/或用户发送电子邮件。
1.class=收信人邮件
#Finisher_Redirect将在表单成功提交后将用户重定向到另一页。
5.class=修整器重新定向
5.config{
重定向页面=8
}
}
}
现在,您将在模块的下拉列表中找到此设置。如果您创建更多的设置,您将有更多的设置可供选择。每个表单都需要自己的设置。predef