首页 > 解决方案 > TYPO3:将 Formhandler 添加到新闻扩展

问题描述

我正在使用 TYPO3 新闻系统和 Formhandler Extension

我有一些表格,它们在每个页面上都可以正常工作,但我无法将其插入 Newsdetail 页面。

每个表单都保存到一个临时变量中,如下所示:

temp.contactform < plugin.tx_formhandler_pi1

(然后按照我没有在此处添加的所有设置,例如 sender_email 等。)

因此,在每个其他页面上,我都会像这样在“模板”菜单下插入表单并插入插件:

page.10.variables.form < temp.contactform

在布局文件中,我只是调用:<f:format.raw>{form}</f:format.raw>

表单出现并且工作正常。

我试图在 Detail 页面上插入 TypoScript,也直接插入到 plugin.tx_news 中,然后<f:format.raw>{form}</f:format.raw>在 Detail.html 中写入,但它只是没有插入我的表单。

对我来说,新闻插件似乎不允许自定义临时工。因为如果我尝试插入表单以外的任何内容,例如简单文本,作为临时文件,它也不会插入到详细信息页面中。

谷歌也没有进一步帮助我。你能告诉我是否可以将表单处理程序和新闻连接到一个页面中?

标签: templatestypo3tx-news

解决方案


您不能form在新闻模板中使用流体变量,因为您的变量是在页面上下文中定义的,而新闻上下文不知道它。

此外,所有 TypoScripttemp.*对象在开始渲染之前都会被删除,因此您不能temp.*f:cObjectviewhelper 中使用任何对象。(改用一个lib.*对象,甚至可以复制它lib.contactform < temp.contactform:)

您应该像在任何其他页面上一样在页面中插入表单,因为详细信息页面就像任何其他页面一样,除了新闻插件的内容仅显示一条记录。

您的问题可能是:
对于详细信息页面,进一步的 URL 参数决定显示的记录。如果您的表单不尊重这些参数并且只是通过 uid 调用页面,则新闻插件不知道要显示哪条记录,而是会给出错误消息。


由于 ext:formhandler 自 2017 年 11 月起已过时,您应该将表单迁移到受支持的扩展。至少当您更新您的 TYPO3 时,因为您可能使用最近也离开公众支持的 7LTS。


推荐阅读