0

訪問者がタクシーに乗るように頼むことができる拡張機能ビルダーを使用して、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されますが、それをフォームに入れる方法がわかりません...理解するコードをもっと見たい場合は、尋ねてください。あなたが探しているものがわかりません...

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

ビルダーで拡張機能を作成しましたか? 最も簡単な方法は、ビルダーでフィールド (pickup-point、dropoff-point) を作成してからcreateActionorを作成するnewActionことです (ビルダーでどのように呼び出されるかはわかりません)。createActionコピーして貼り付けるだけのテンプレートが作成されます<f:form...

POST/GET パラメータに直接アクセスする方法があります (クリーンな extbase の方法で作成できる場合、直接使用することはお勧めしません):

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