templates - 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 中写入,但它只是没有插入我的表单。
对我来说,新闻插件似乎不允许自定义临时工。因为如果我尝试插入表单以外的任何内容,例如简单文本,作为临时文件,它也不会插入到详细信息页面中。
谷歌也没有进一步帮助我。你能告诉我是否可以将表单处理程序和新闻连接到一个页面中?
解决方案
您不能form
在新闻模板中使用流体变量,因为您的变量是在页面上下文中定义的,而新闻上下文不知道它。
此外,所有 TypoScripttemp.*
对象在开始渲染之前都会被删除,因此您不能temp.*
在f:cObject
viewhelper 中使用任何对象。(改用一个lib.*
对象,甚至可以复制它lib.contactform < temp.contactform
:)
您应该像在任何其他页面上一样在页面中插入表单,因为详细信息页面就像任何其他页面一样,除了新闻插件的内容仅显示一条记录。
您的问题可能是:
对于详细信息页面,进一步的 URL 参数决定显示的记录。如果您的表单不尊重这些参数并且只是通过 uid 调用页面,则新闻插件不知道要显示哪条记录,而是会给出错误消息。
由于 ext:formhandler 自 2017 年 11 月起已过时,您应该将表单迁移到受支持的扩展。至少当您更新您的 TYPO3 时,因为您可能使用最近也离开公众支持的 7LTS。
推荐阅读
- android - Android Sudio 找到哪个 Activity/Fragment 在前台
- docker - Docker-compose 卷与 /app 文件夹共享问题
- mysql - 在mysql中更新具有NULL值的double类型列
- amazon-web-services - Google Cloud 上的“Vue+S3+Lambda”架构
- .net-core - RabbitMQ SSL 配置:DotNet 客户端
- regex - MongoDB:匹配字符串字段中的多个值
- c# - 加密存储不可用 | AWSSDK C
- javascript - 提交表单后清空 Material-UI 文本字段
- php - 当 unix 时间值过去时返回一个案例(过去)
- c# - “当前查询不支持排序。” 排序列表成员 API 时出错