无法访问控制器中的vars

时间:2016-11-18 10:24:06

标签: typo3 extbase

我想在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仍然是一个空数组。

为什么呢?有人有想法吗?

2 个答案:

答案 0 :(得分:7)

使用$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

答案 1 :(得分:0)

您尝试获取的参数必须位于控制器请求上下文中。 您的帖子数据应该发送给控制器,如:

 tx_extensionname_pluginname[object][property]

如果您在模板中使用f:form,FLUID将为您执行此操作,您的表单和发布数据的语法正确。