我有一个 TYPO3 汽车扩展,型号“汽车”有一个最大汽车数量的字段。在我的 ShowAction 中,我需要一个表格。提交表单时,最大汽车数量应减少-1。"
我怎么做?使用 PowerMail 还是表单?我怎样才能使减少-1?
我期待着任何帮助:-)。
我有一个 TYPO3 汽车扩展,型号“汽车”有一个最大汽车数量的字段。在我的 ShowAction 中,我需要一个表格。提交表单时,最大汽车数量应减少-1。"
我怎么做?使用 PowerMail 还是表单?我怎样才能使减少-1?
我期待着任何帮助:-)。
提交表单后,Controller 中应该有一个 saveAction。在此 saveAction 中,您可以访问所有字段值。在持久化它们之前,您可以更改字段值。
您需要做的是将对象传递给 showAction。在 Show.html 中,您将有一个带有提交的表单,该表单应该处理 updateAction。在 updateAction 中,您将汽车的最大数量增加 1 并更新存储库。
例如:
显示动作
/**
*
* @param \Vendor\Extname\Domain\Model\Car $car
* @ignorevalidation $car
* @return void
*/
public function showAction(\Vendor\Extname\Domain\Model\Car $car = NULL)
{
$this->view->assign('car', $car);
}
显示.html
<f:layout name="Default" />
<f:section name="Main">
<f:flashMessages />
<f:form name="car" object="{car}" action="update">
<!-- add any other properties you may wish to update here -->
<f:form.submit value="Update" />
</f:form>
</f:section>
更新动作
/**
*
* @param \Vendor\Extname\Domain\Model\Car $car
*
*/
public function updateAction(\Vendor\Extname\Domain\Model\Car $car)
{
$car->setMaximaleNumberOfCars($car->getMaximaleNumberOfCars()+1);
$this->carRepository->update($car);
$this->redirect('list');
}
这或多或少是当场写的,未经测试,但它应该给你正确的想法。