0

我在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但我看不出有办法将其放入表单中...如果您想查看更多代码以了解,请问,我不知道您要查找什么...

4

2 回答 2

2

您的表单操作应该具有来自您表单的请求参数:

/**
 * action form
 * 
 * @param array $request
 *
 * @return void
 */
 public function formAction($request) {
 }

然后你可以访问数据$request['origin']

我不确定该变量$request是否允许作为参数。如果它不起作用,也许你必须在函数和流体模板中重命名它。

于 2016-09-07T08:01:43.743 回答
0

您是否使用构建器创建了扩展程序?最简单的方法是在构建器中创建字段(上车点、下车点),然后创建一个createActionnewAction(不确定如何在构建器中调用它)。它将创建模板createAction,您可以在其中复制/粘贴<f:form...

有一种方法可以直接访问POST/GET参数(如果可以使用干净的extbase方式,不建议直接使用):

$myVar = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('myVar');
于 2016-09-06T15:18:33.553 回答