TYPO3 Fluid:如何将多个域对象传递给动作控制器
TYPO3 Fluid: How to pass several domain objects to the action controller
我想要一个大的 Fluid 表单,可以同时修改多条记录。提交所有记录的页面只有一个表单。
<f:if condition="{records}">
<f:then>
<f:form action="update" enctype="multipart/form-data" name="updateRecords" object="{records}">
<div class="row">
<f:for each="{records}" as="element" iteration="recordsIterator">
<div class="col-md-3">
<h5>{element.title}</h5>
<div>
<f:if condition="{feature}">
<f:then>
<h6>
<f:translate key="records.feature" />
</h6>
<f:form.checkbox property="feature" value="2" />
<label for="tx_example_records[updateRecords][{recordsIterator.index}][feature]">
<f:translate key="records.read" />
</label>
</f:then>
</f:if>
</div>
</div>
</f:for>
</div>
<f:form.submit class="button" value="{f:translate(key: 'submit', default: '[submit]')}"><input class="button" type="submit" name="" value="Submit" /></f:form.submit>
</f:form>
</f:if>
相应的控制器只有一个域对象作为参数。
/**
* action update
*
* @param \Foo\Example\Domain\Model\Records $updateRecords
* @return void
*/
public function updateAction(\Foo\Example\Domain\Model\Records $updateRecords) : void
但是我需要一个解决方案,其中包含所有列出的数组 Domain\Model\Records
作为参数从提交的表单传递到 updateAction
。属性 feature
是一个复选框,如果记录的特征值为 = '2';
,则要选中该复选框。这在 TYPO3 中有可能吗?或者我必须使用一些技巧来完成这个任务?
您可以在此处使用数据传输对象,保存提交表单所需的值。您可以在这里找到一些与 Extbase 相关的一般信息:https://usetypo3.com/dtos-in-extbase.html
我想要一个大的 Fluid 表单,可以同时修改多条记录。提交所有记录的页面只有一个表单。
<f:if condition="{records}">
<f:then>
<f:form action="update" enctype="multipart/form-data" name="updateRecords" object="{records}">
<div class="row">
<f:for each="{records}" as="element" iteration="recordsIterator">
<div class="col-md-3">
<h5>{element.title}</h5>
<div>
<f:if condition="{feature}">
<f:then>
<h6>
<f:translate key="records.feature" />
</h6>
<f:form.checkbox property="feature" value="2" />
<label for="tx_example_records[updateRecords][{recordsIterator.index}][feature]">
<f:translate key="records.read" />
</label>
</f:then>
</f:if>
</div>
</div>
</f:for>
</div>
<f:form.submit class="button" value="{f:translate(key: 'submit', default: '[submit]')}"><input class="button" type="submit" name="" value="Submit" /></f:form.submit>
</f:form>
</f:if>
相应的控制器只有一个域对象作为参数。
/**
* action update
*
* @param \Foo\Example\Domain\Model\Records $updateRecords
* @return void
*/
public function updateAction(\Foo\Example\Domain\Model\Records $updateRecords) : void
但是我需要一个解决方案,其中包含所有列出的数组 Domain\Model\Records
作为参数从提交的表单传递到 updateAction
。属性 feature
是一个复选框,如果记录的特征值为 = '2';
,则要选中该复选框。这在 TYPO3 中有可能吗?或者我必须使用一些技巧来完成这个任务?
您可以在此处使用数据传输对象,保存提交表单所需的值。您可以在这里找到一些与 Extbase 相关的一般信息:https://usetypo3.com/dtos-in-extbase.html