Плагин внешнего интерфейса Typo3, используйте данные _POST в контроллере
Я написал очень простое расширение в typo3 v7.6.11 со сборщиком расширений, где посетитель может попросить поездку на такси.
все работает, только то, что мне нужно сделать запрос более привлекательным, задав точку сбора и точку высадки... этот запрос переходит в фактическую форму, подобную этой в шаблоне (requestPid
идентификатор страницы с формой):
<f:form pageUid="{settings.additional.requestPid}" action="form" name="request" object="{Request}">
<f:render partial="Ticket/RequestNewFields" />
<f:form.submit value="{f:translate(key: 'tx_wmnltickets_domain_model_ticket.admin.continue')}" />
</f:form>
но formAction в контроллере фактически ничего не запрашивает у модели (getArguments()
Я старался);
/**
* action form
*
* @return void
*/
public function formAction() {
$this->request->getArguments();
}
запрос отправляет $_POST
но я не вижу способа получить это в форме... если вы хотите увидеть больше кода для понимания, просто спросите, я не знаю, что вы будете искать...
2 ответа
Ваше действие формы должно иметь параметр запроса от вашей формы:
/**
* action form
*
* @param array $request
*
* @return void
*/
public function formAction($request) {
}
Тогда вы можете получить доступ к данным с $request['origin']
Я не уверен, что переменная $request
допускается в качестве аргумента. Может быть, вы должны переименовать его в функции и в шаблоне, если он не работает.
Вы создали расширение со сборщиком? Самый простой способ - создать поля (точка захвата, точка вылета) в компоновщике, а затем создать createAction
или же newAction
(не уверен, как это называется у застройщика). Это создаст шаблон для createAction
где вы можете просто скопировать / вставить <f:form...
Существует способ прямого доступа к параметрам POST/GET (не рекомендуется использовать его напрямую, если вы можете сделать это с помощью чистого extbase):
$myVar = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('myVar');