参数类型...无法检测到

时间:2017-02-28 10:05:17

标签: typo3 fluid extbase

我已经定义了一个模型(我知道,我应该使用命名空间,但这会导致我遇到其他问题,所以我决定暂时离开它):

class Tx_SimpleOrders_Domain_Model_File extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    ...
}

并且控制器有两种插件方法。第一个是显示表单,第二个是将表单数据保存到持久层。没什么了不起的。

class Tx_SimpleOrders_Controller_FileController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

    public function showAction() {

        echo "<pre>";
        var_dump( class_exists('Tx_SimpleOrders_Domain_Model_File') );
        echo "</pre>";

    }



    /**
     * Creates a new file
     *
     * @param Tx_SimpleOrders_Domain_Model_File $newFile A fresh File object which has not yet been persisted
     * @return void
     */
    public function createAction(Tx_SimpleOrders_Domain_Model_File $newFile) {

        echo "<pre>";
        var_dump($_POST["tx_simpleorders_upload"]["newFile"]);
        echo "</pre>";

    }


}

正确调用show操作。我使用了 - 如您所见 - 转储class_exists('Tx_SimpleOrders_Domain_Model_File')并返回true。所以模型存在。

当我提交表单

时,我总是收到错误
The argument type for parameter $newFile of method Tx_SimpleOrders_Controller_FileController->createAction() could not be detected.

根据文档,如果我没有指定参数的类(如此处https://docs.typo3.org/typo3cms/extensions/efs/ExtExtensionFromScratch/Target7ASimpleCrudApplicationTheFePlugins/TheSubmitForm/Index.html所示),我会得到此异常。

但我做到了。

那么这里的问题是什么?

以下是视图的流体“代码”:

{namespace so=Tx_SimpleOrders_ViewHelpers}

<f:form enctype="multipart/form-data" method="post" controller="File" action="create" name="newFile" object="{newFile}">

  <f:form.textfield property="identifier" /><br />
  <f:form.textarea property="description" rows="3" cols="40" /><br />
  <!--<f:form.upload property="image" /><br />-->
  <f:form.submit class="submit" value="Hochladen" />

</f:form>

0 个答案:

没有答案