TYPO3 собственное расширение Detailpage с формой и счетчиком - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть удлинитель автомобиля TYPO3 с моделью "автомобиль", имеется поле максимальное количество автомобилей . На моем ShowAction мне нужна форма. Когда форма отправлена, число максимальное количество автомобилей должно быть уменьшено -1. «

Как мне это сделать? С PowerMail или формой? Как я могу сделать сокращение -1?

Я с нетерпением жду любой помощи: -).

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Что вам нужно сделать, это передать объект в 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');
    }

Это было более или менее написано на месте и не проверено, но оно должно дать вам правильное представление.

0 голосов
/ 26 апреля 2018

После отправки формы в контроллере должно быть действие saveAction. В этом saveAction вы можете получить доступ ко всем значениям полей. Прежде чем сохранять их, вы можете изменить значение поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...