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

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