TYPO3拥有表格和计数器的扩展名详细页面

时间:2018-04-26 14:51:20

标签: typo3 extbase typo3-8.7.x

我有一个TYPO3汽车扩展模型"汽车"有一个最大汽车数的字段。 在我的ShowAction上,我需要一个表单。提交表单时, maximale of cars 的数量应减少-1。 "

我该怎么做?使用PowerMail还是表单?如何减少-1?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

updateAction

    /**
    *
    * @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');
    }

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