Typo3 前端插件,在控制器中使用 _POST 数据
Typo3 frontend plugin, use _POST data in the controller
我在 typo3 v7.6.11 中使用扩展构建器编写了一个非常简单的扩展,访客可以在其中请求乘坐出租车。
一切正常,只是我需要通过询问上车点和下车点来使请求更具吸引力......该请求进入模板中的实际表格(requestPid
是具有以下形式的页面的 ID):
<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
,但我看不出有什么办法可以将其放入表单中...
如果你想看更多的代码来理解,尽管问,我不知道你在找什么......
您是否使用构建器创建了扩展程序?最简单的方法是在构建器中创建字段(上车点、下车点),然后创建 createAction
或 newAction
(不确定在构建器中如何调用)。它将为 createAction
创建模板,您可以在其中 copy/paste <f:form...
有一种方法可以直接访问POST/GET参数(如果可以使用clean extbase方式,不建议直接使用):
$myVar = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('myVar');
您的表单操作应该包含您表单的请求参数:
/**
* action form
*
* @param array $request
*
* @return void
*/
public function formAction($request) {
}
然后您可以使用 $request['origin']
访问数据
我不确定是否允许变量 $request
作为参数。如果它不起作用,也许您必须在函数和流体模板中重命名它。
我在 typo3 v7.6.11 中使用扩展构建器编写了一个非常简单的扩展,访客可以在其中请求乘坐出租车。
一切正常,只是我需要通过询问上车点和下车点来使请求更具吸引力......该请求进入模板中的实际表格(requestPid
是具有以下形式的页面的 ID):
<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
,但我看不出有什么办法可以将其放入表单中...
如果你想看更多的代码来理解,尽管问,我不知道你在找什么......
您是否使用构建器创建了扩展程序?最简单的方法是在构建器中创建字段(上车点、下车点),然后创建 createAction
或 newAction
(不确定在构建器中如何调用)。它将为 createAction
创建模板,您可以在其中 copy/paste <f:form...
有一种方法可以直接访问POST/GET参数(如果可以使用clean extbase方式,不建议直接使用):
$myVar = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('myVar');
您的表单操作应该包含您表单的请求参数:
/**
* action form
*
* @param array $request
*
* @return void
*/
public function formAction($request) {
}
然后您可以使用 $request['origin']
我不确定是否允许变量 $request
作为参数。如果它不起作用,也许您必须在函数和流体模板中重命名它。