【问题标题】:#1216909923: The argument "multimedia" does not exist. (More information) Typo3#1216909923:参数“多媒体”不存在。 (更多信息)Typo3
【发布时间】:2019-02-07 09:12:55
【问题描述】:

我有一个用于更新实体的表单。当我尝试调用updateAction() 时,它返回一个错误。是什么原因?我该如何解决这个问题?

form.html:

<f:form action="update" enctype="multipart/form-data" name="multimedia"  object="{multimedia}" id="multimediaEditForm">
          <f:render partial="Multimedia/FormFields" arguments="{_all}" />
</f:form>

更新操作:

/**
 * Setting TypeConverter option for file upload
 */
public function initializeUpdateAction()
{

    $this->setTypeConverterConfiguration('multimedia');
}

/**
 * action update
 *
 * @TYPO3\CMS\Extbase\Annotation\Validate("PITS\RccMultimedia\Domain\Validator\MultimediaValidator", param="$multimedia")
 * @return void
 */
public function updateAction()
{
    $updatedBy = $GLOBALS['TSFE']->fe_user->user ;
    $userObject = $this->userRepository->findByUid($updatedBy['uid']);

    $multimedia = $this->request->getArgument('multimedia');
}

/**
* For mapping properties to object
*/
protected function setTypeConverterConfiguration($argument)
{
    $uploadConfiguration = array(
            UploadedFileReferenceConverter::CONFIGURATION_ALLOWED_FILE_EXTENSIONS => 'jpg,jpeg,html,css,html,png,bmp,txt,doc,docx,xlf,ico,gif,ogg,tiff,mp4,wmv,webm,movie,pdf',
            UploadedFileReferenceConverter::CONFIGURATION_UPLOAD_FOLDER => 'fileadmin/user_upload',
    );
    /** @var PropertyMappingConfiguration $newFileConfiguration */
    $newFileConfiguration = $this->arguments[$argument]->getPropertyMappingConfiguration();
    $newFileConfiguration->forProperty('multimediaFile')->setTypeConverterOptions('Vendor\\Multimedia\\Property\\TypeConverter\\UploadedFileReferenceConverter', $uploadConfiguration);
}

$this-&gt;arguments 返回空值,但 $this-&gt;request-&gt;getArgument('multimedia'); 有值。

【问题讨论】:

    标签: php typo3 extbase


    【解决方案1】:

    您必须为您的updateAction() 添加一个参数,否则数据仅在您注意到的网络请求中可用:

    /**
     * action update
     */
    public function updateAction(Multimedia $multimedia)
    {
        // ...
    }
    

    这里直接使用您的Multimedia 模型,因此可以方便地在您的操作中使用。另请注意,由于自动添加了 domain model validators,因此可以删除显式验证器提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多