Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过浏览器访问TYPO3操作_Php_Typo3_Extbase - Fatal编程技术网

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

Php 如何通过浏览器访问TYPO3操作,php,typo3,extbase,Php,Typo3,Extbase,我正在用Extbase构建一个TYPO3扩展,并希望存储通过httpget获取的数据。 现在我正在努力使用浏览器访问动作控制器 插件被实现到第102页 扩展键是xyzlist 插件名为xyzlistdb 控制器名称为PlayController 动作是getAction 域名是sub.domain.de 在PlayController中,php仅处于getAction下 错误\u logGetAction,0; 要确定浏览器url是否指向getAction 这里是我正在使用的URL 在浏览器中,

我正在用Extbase构建一个TYPO3扩展,并希望存储通过httpget获取的数据。 现在我正在努力使用浏览器访问动作控制器

插件被实现到第102页 扩展键是xyzlist 插件名为xyzlistdb 控制器名称为PlayController 动作是getAction 域名是sub.domain.de

在PlayController中,php仅处于getAction下 错误\u logGetAction,0; 要确定浏览器url是否指向getAction

这里是我正在使用的URL

在浏览器中,我使用“&”而不是仅使用“&” 但是如果我只使用“&”,它也不会访问Get操作

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


我做错了什么?

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


这里你有多种可能性

首先,您可以禁用[FE][pageNotFoundOnCHashError]安装工具,这样您就不会在无效的cHash上获得404。这是所有插件的globaly for you站点。这不是安全的方法

其次,您可以在键入脚本中设置plugin.tx\u xyzlist\u xyzlistdb.features.requireCHashArgumentForActionArguments=0,以禁用插件的pageNotFoundOnCHashError


最后,您可以将变量添加到[FE][cHashExcludedParameters]安装工具中,这样您的变量就不会包含在cHash计算中。

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

http://sub.domain.de/index.php?id=102&tx_xyzlist_xyzlistdb[controller]=Playlist&tx_xyzlist_xyzlisdb[action]=get
也不要无缘无故地关掉深沟。这个问题根本不是原因

Jonas提到通过以下方式生成指向您的行动的链接:

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

这确实是一个很好的省时实践。

问题是如何从外部程序访问操作。使用TYPO3方法创建URL后,它将像普通URL一样工作。它将附加一个必要的&cHash参数。谢谢你的回答。通过这种方法,我可以访问我想要的操作。但是如果我尝试发送参数,它将不起作用。我认为参数必须在裂缝之前发送。我需要一个没有cHash的解决方案,因为httpget将从另一个程序发送,我只能实现一个静态cHash。您有解决我问题的方法吗?我尝试在setup.typoscript中禁用requireCHashArgumentForActionArguments=0,并重新安装了扩展,但Typo3仍然需要一个缺口,我无法提供。为什么不先在Typo3系统中创建一个链接,然后复制渲染的链接?如果你想移除裂缝,那么如果输入3 9,就使用realUrl。这样,每次通话都会有一个唯一的url。我假设您有UID,所以在url上包括它们,以及如何从外部程序访问操作控制器以模拟HTTP GET的问题。同时我发现,我必须注意使用正确的符号。这是案件敏感度。例如,我必须编写播放列表,而不是播放列表。现在我可以访问控制器,但在访问正确的操作时仍然存在问题。它总是指向第一个动作,而不是定义的动作version@HGA我建议使用cHashExcludedParameters设置。我尝试了这两种设置,但都没有成功。最后,我放弃了使用HTTP GET,转而使用POPST。