В настоящее время я пытаюсь написать простое расширение формы ввода: пользователь вводит значения поля ввода, действие отправки вставляет значения в базу данных, а затем перенаправляет на внешнюю платежную службу.
К сожалению, функция createAction не показывает никакой реакции после нажатия на кнопку отправки.
В целях тестирования я просто хочу вывести текст после отправки. Но даже это не работает.
Если я использую точно такую же функцию flashMessageContainer в newAction, она работает: сообщение отображается немедленно. Но когда я хочу показать это после нажатия кнопки отправки, ничего не происходит, кроме перезагрузки страницы.
В чем может быть проблема?
Ресурсы/Частные/Шаблоны/Оплата/New.html:
<f:form method="post" controller="Payment" action="create" id="newPayment" name="newPayment" object="{newPayment}">
<f:render partial="Payment/FormFields" />
<div class="buttons row">
<div class="col c6">
<f:form.submit value="{f:translate(key:'tx_chilipayment_domain_model_payment.submit')}" />
</div>
</div>
......
Классы/Контроллер/PaymentController.php:
<?php
namespace chilischarf\ChiliPayment\Controller;
class PaymentController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
/**
* paymentRepository
*
* @var \chilischarf\ChiliPayment\Domain\Repository\PaymentRepository
* @inject
*/
protected $paymentRepository;
/**
* action new
*
* @param \chilischarf\ChiliPayment\Domain\Model\Payment $newPayment
* @dontvalidate $newPayment
* @return void
*/
public function newAction(\chilischarf\ChiliPayment\Domain\Model\Payment $newPayment = NULL) {
$this -> view -> assign('newPayment', $newPayment);
}
/**
* action create
*
* @param \chilischarf\ChiliPayment\Domain\Model\Payment $newPayment
* @return void
*/
public function createAction(\chilischarf\ChiliPayment\Domain\Model\Payment $newPayment) {
$this -> flashMessageContainer -> add('Your new Payment was created.');
}
}
?>