Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TYPO3 8.7使用子元素m:n更新不起作用_Typo3_Typo3 8.x - Fatal编程技术网

TYPO3 8.7使用子元素m:n更新不起作用

TYPO3 8.7使用子元素m:n更新不起作用,typo3,typo3-8.x,Typo3,Typo3 8.x,我有一个扩展和一个前端表单来创建和更新元素。用户可以创建具有多个日期的发票,这些日期存储为m:n记录 创建发票和日期可用于: <f:form.checkbox name="newRechnungen[termine][]" value="{termin.uid}" /> 但如果我编辑发票并提交表单,则会出现错误: <f:form.checkbox name="rechnungen[termine][]" value="{termin.uid}" /> 显示错误

我有一个扩展和一个前端表单来创建和更新元素。用户可以创建具有多个日期的发票,这些日期存储为m:n记录

创建发票和日期可用于:

<f:form.checkbox name="newRechnungen[termine][]" value="{termin.uid}" />

但如果我编辑发票并提交表单,则会出现错误:

<f:form.checkbox name="rechnungen[termine][]" value="{termin.uid}" />

显示错误类型:

表单字段“[items][]”无效。原因:“[]”不是用来作为最后的论点,而是在中间的某个地方(像Fo[[]])/P> 如解决方案所述将标记更改为

<f:form.checkbox name="rechnungen[termine][{key}]" value="{termin.uid}" />

显示错误:

#1297759968:在属性路径“files”处进行属性映射时出现异常:PHP警告:spl_object_hash()期望参数1为object,在/usr/share/typo3/typo3_src-7.6.2/typo3/sysext/extbase/Classes/Persistence/ObjectStorage.PHP第155行中给出空值=

文档页面上描述的用于表单标记的
enctype=“multipart/form data”
解决方案不起作用


知道如何解决这个问题吗?

检查为下面的复选框生成的HTML格式是否正确

<f:form.checkbox name="rechnungen[termine][{key}]" value="{termin.uid}" />


您的HTML中必须有类似的内容:
我现在可以通过在initializeUpdateAction中取消设置空值来解决此问题:

foreach($args['rechnungen']['termine'] as $key => $value) {
        if (intval($value) === 0) {
            unset($args['rechnungen']['termine'][$key]);
        }
    }

是页面中的html代码,出现错误。所有复选框均已提交-也包括未选中的复选框。。。所以我不明白他们为什么提交。。。这是控制器中initialiceUpdateAction的输出:数组([action]=>update[controller]=>Xxxxxx[rechnungen]=>Array([\uu标识]=>41[termine]=>Array([0]=>[1]=>2]=>[3]=>136[4]=>))问题是,typo3将每个复选框也添加为一个具有空值的隐藏字段。这导致了错误啊,我记得我也有同样的问题