0

我有一个 TYPO3 汽车扩展,型号“汽车”有一个最大汽车数量的字段。在我的 ShowAction 中,我需要一个表格。提交表单时,最大汽车数量应减少-1。"

我怎么做?使用 PowerMail 还是表单?我怎样才能使减少-1?

我期待着任何帮助:-)。

4

2 回答 2

0

提交表单后,Controller 中应该有一个 saveAction。在此 saveAction 中,您可以访问所有字段值。在持久化它们之前,您可以更改字段值。

于 2018-04-26T15:11:32.933 回答
0

您需要做的是将对象传递给 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');
    }

这或多或少是当场写的,未经测试,但它应该给你正确的想法。

于 2018-04-26T21:14:44.933 回答