TYPO3 自己的扩展详情页面,带有表格和计数器
TYPO3 own extension Detailpage with form and counter
我有一个型号为 "car" 的 TYPO3 汽车扩展,有一个 最大汽车数量 的字段。
在我的 ShowAction 上,我需要一个表格。提交表格时,最大汽车数量的数量应减少-1。 “
我该怎么做?使用 PowerMail 或表单?我怎样才能减少-1?
我期待任何帮助:-)。
提交表单后,Controller 中应该有一个saveAction。在此 saveAction 中,您可以访问所有字段值。在持久化它们之前,您可以更改字段值。
您需要做的是将对象传递给 showAction。在 Show.html 中,您将拥有一个带有提交的表单,该表单应处理 updateAction。在 updateAction 中,您会将最大汽车数量增加 1 并更新存储库。
例如:
showAction
/**
*
* @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);
}
Show.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');
}
这或多或少是当场写的,未经测试,但它应该会给你正确的想法。
我有一个型号为 "car" 的 TYPO3 汽车扩展,有一个 最大汽车数量 的字段。 在我的 ShowAction 上,我需要一个表格。提交表格时,最大汽车数量的数量应减少-1。 “
我该怎么做?使用 PowerMail 或表单?我怎样才能减少-1?
我期待任何帮助:-)。
提交表单后,Controller 中应该有一个saveAction。在此 saveAction 中,您可以访问所有字段值。在持久化它们之前,您可以更改字段值。
您需要做的是将对象传递给 showAction。在 Show.html 中,您将拥有一个带有提交的表单,该表单应处理 updateAction。在 updateAction 中,您会将最大汽车数量增加 1 并更新存储库。
例如:
showAction
/**
*
* @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);
}
Show.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');
}
这或多或少是当场写的,未经测试,但它应该会给你正确的想法。