Templates 将数组从模板传递到部分模板

Templates 将数组从模板传递到部分模板,templates,typo3,partial,fluid,typo3-6.1.x,Templates,Typo3,Partial,Fluid,Typo3 6.1.x,我的showAction()如下所示: public function showAction() { $form = $this->formRepository->findByUid($this->settings['form']); $arguments = $this->request->getArguments(); $this->view->assignMultiple( a

我的showAction()如下所示:

public function showAction() {
        $form = $this->formRepository->findByUid($this->settings['form']);
        $arguments = $this->request->getArguments();
        $this->view->assignMultiple(
            array(
                'form' => $form,
                'arguments' => $arguments
            )
        );
    }
在该操作的模板中,我尝试为我的所有部分提供“参数”:

<f:render partial="FormElement/{formElement.type}" arguments="{formElement:formElement, arguments:arguments}" />

模板中{arguments}的调试显示一切正常。如果我调试部分中的{arguments},它将返回NULL。即使我将所有参数都赋给partials(arguments=“{u all}”),通过调试partials中的{arguments}也会返回NULL


其他一切都很好

我觉得你的代码很好。您可能需要检查php.ini文件中的以下设置“max\u input\u nesting\u level”。有时,如果此参数设置为低值,并且处理复杂对象时会遇到此限制。您可能希望将其更改为128甚至256。(更改php.ini后,别忘了重新启动apache)

我创建了一个带有部分错误的操作和模板,无法重现该问题。如果只使用简单字符串而不是$this->request->getArguments()来分配“arguments”,会怎么样。字符串是否传递到部分?您是否尝试将变量“arguments”重命名为类似“myargs”的其他名称?在assignMultiple()中,我将其更改为:“hump'=>“出了什么问题?”。还更改了针对“Hump”的“arguments”,方法是将其参数(arguments=“{formElement:formElement,Hump:Hump}”)。部分中{hump}的调试返回NULL。无法更改该值(当前值为64)。我在托管服务器上工作。但同时给出一个字符串而不是arguments数组会给我空值。。。我将其更改为256(通过phpinfo()检查),但遗憾的是,这不是答案。