如何通过浏览器访问TYPO3操作

时间:2019-11-30 21:17:14

标签: php typo3 extbase

我正在使用Extbase构建TYPO3扩展,并希望存储通过HTTP GET获得的数据。 现在,我很难使用浏览器访问动作控制器。

该插件已在第102页中实现
扩展密钥是xyzlist
插件名称为xyzlistdb
控制器名称为PlaylistController
动作是getAction
域名是sub.domain.de

在PlaylistController.php中,仅在getAction下
error_log(“ GetAction”,0);
弄清楚浏览器的网址是否转到getAction。

这是我正在使用的URL

  

http://sub.domain.de/index.php?id=102&tx_xyzlist_xyzlistdb[controller]=playlist&tx_xyzlist_xyzlisdb[action]=get

在浏览器中,我使用的是“&”而不是“&”
但是,如果我仅使用“&”,它也将无法访问“获取”操作

但是我在日志文件中没有收到任何消息!

我做错了什么?

3 个答案:

答案 0 :(得分:1)

这里您有多种可能...

首先,您可以禁用[FE][pageNotFoundOnCHashError](安装工具),因此您不会在无效的cHash上收到404。对于您的网站而言,所有插件都是全局的。这不是安全的方法。

第二,您可以在打字稿中设置plugin.tx_xyzlist_xyzlistdb.features.requireCHashArgumentForActionArguments = 0以为插件禁用pageNotFoundOnCHashError

最后,您可以将变量添加到[FE][cHashExcludedParameters](安装工具)中,以便您的变量不包括在cHash计算中。

答案 1 :(得分:0)

要获得正确的链接,您将必须使用typolink。生成到插件操作的链接的最简单方法可能是在这样的模板中使用f:uri.action

<f:uri.action pageUid="102" extensionName="xyzlist" pluginName="xyzlistdb" action="get" />

https://docs.typo3.org/other/typo3/view-helper-reference/9.5/en-us/typo3/fluid/latest/Link/Action.html

答案 2 :(得分:0)

将控制器名称的首字母大写。

http://sub.domain.de/index.php?id=102&tx_xyzlist_xyzlistdb[controller]=Playlist&tx_xyzlist_xyzlisdb[action]=get

也不要在没有充分理由的情况下关闭cHash。这个问题根本不是原因。

提到乔纳斯(Jonas)可以通过以下方式为您的操作生成链接:

<f:uri.action pageUid="102" extensionName="xyzlist" pluginName="xyzlistdb" action="get" />

这确实是一种节省时间的好习惯。