如何将Formhandler日志UID配置到管理员邮件主题中?
解决Formhandler日志UID添加到管理员邮件主题的问题
我之前做TYPO3项目时刚好碰到过一模一样的需求,给你整理下具体的实现步骤:
核心思路
要让###value_tx_formhandler_log_inserted_uid###这个标记出现在管理员邮件主题里,需要在Formhandler的预设配置中,给管理员邮件的subject字段直接配置这个模板标记,同时确保日志功能已经开启(不然这个UID根本不会生成)。
具体配置示例
结合你给出的代码片段,修改后的完整配置大概是这样:
plugin.Tx_Formhandler.settings.predef.form { # 第一步:确保日志功能已启用(如果你的配置里还没加,一定要补上) log { 1 { class = Tx_Formhandler_Logger_Db config { table = tx_formhandler_log } } } # 第二步:配置管理员邮件的主题,插入UID标记 mail { admin { # 这里就是你要的主题格式 subject = 订单ID: ###value_tx_formhandler_log_inserted_uid### # 下面是你原有的邮件配置,保留即可 recipient = admin@yourdomain.com templateFile = typo3template/typo... # 其他邮件相关配置(比如发送人、编码等)继续保留 } } # 你原有的表单基础配置 name = Form1 templateFile = typo3template/typo... # 其他表单配置(比如验证规则、字段映射等) }
关键注意事项
- 流程顺序检查:如果提交表单后邮件主题里的UID是空的,大概率是日志插入的流程在邮件发送之后。这时候需要调整Formhandler的
processors配置,把日志处理器放到邮件处理器之前,确保生成UID后再发送邮件。 - 测试验证:提交表单后,先去TYPO3后台的
tx_formhandler_log表(或者对应的数据表)确认有没有生成日志记录,再检查管理员邮箱收到的邮件主题是否正确显示UID。
内容的提问来源于stack exchange,提问作者Minzkraut
相关产品推荐
相关产品推荐

