无法访问控制器中的 get vars
impossible to access get vars in the controller
我想在 extbase 扩展的控制器中访问 get vars(或者 post vars)。我使用 TYPO3 7.6.12
这是我控制器中的代码:
public function showAction(\Test\MdIframe\Domain\Model\Iframe $iframe = NULL)
{
\TYPO3\CMS\Core\Utility\DebugUtility::debug($_REQUEST);
$args = $this->request->getArguments();
print_r($args);
调试功能有效,我得到一个填充数组,但 $args
仍然是一个空数组。
为什么?有人有想法吗?
您尝试获取的参数必须在控制器请求上下文中。
您的 post 数据应发送给控制器,例如:
tx_extensionname_pluginname[object][property]
如果您在模板中使用 f:form,FLUID 会为您执行此操作,并且您的表单和 post 数据语法正确。
使用 $this->request->getArguments
你只能得到由动作定义并由 ?tx_myextension_plugin[argument]=value
传递的参数(f:link.action
将他的参数自动传递给这个前缀):
public function showAction($item = 12, $short = false)
{
print_r($this->request->getArguments());
}
将输出如下:
Array
(
[item] => 12
[short] => false
)
如果您想访问全局 _GET 变量,您可以使用 \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('var');
来获取 ?var=value
我想在 extbase 扩展的控制器中访问 get vars(或者 post vars)。我使用 TYPO3 7.6.12
这是我控制器中的代码:
public function showAction(\Test\MdIframe\Domain\Model\Iframe $iframe = NULL)
{
\TYPO3\CMS\Core\Utility\DebugUtility::debug($_REQUEST);
$args = $this->request->getArguments();
print_r($args);
调试功能有效,我得到一个填充数组,但 $args
仍然是一个空数组。
为什么?有人有想法吗?
您尝试获取的参数必须在控制器请求上下文中。 您的 post 数据应发送给控制器,例如:
tx_extensionname_pluginname[object][property]
如果您在模板中使用 f:form,FLUID 会为您执行此操作,并且您的表单和 post 数据语法正确。
使用 $this->request->getArguments
你只能得到由动作定义并由 ?tx_myextension_plugin[argument]=value
传递的参数(f:link.action
将他的参数自动传递给这个前缀):
public function showAction($item = 12, $short = false)
{
print_r($this->request->getArguments());
}
将输出如下:
Array
(
[item] => 12
[short] => false
)
如果您想访问全局 _GET 变量,您可以使用 \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('var');
来获取 ?var=value