web-dev-qa-db-ja.com

追加 '?'文字列をクエリするための「=」文字

「?」を渡そうとしていますと '='シンボルをrouting.ymlを使用してページに追加

company.calc:
  path: '/form?company={nid}'
  defaults:
    _controller: FrameworkBundle:Redirect:redirect
    _title: 'Calc'
 requirements:
   _permission: 'access content'

ただし、シンボルはHTMLエンティティにトランスコードされます。 form%3Fcompany%3D%3Fcompany%3D18141のように見え、404ページに移動します。

のような文字列を渡す方法のアイデア

/form?company=1234 

?この文字列は、フォームのフィールドに事前入力するために必要です。

同じ質問を見つけてください ここ ですが、返信はありません。解決策はありません:(。

4

次のようにmymodule.routing.ymlファイルのdrupalルートでクエリパラメータを宣言します。

mymodule.mailcommitter:
  path: '/mailcheck/{uid}'
  defaults:
    _controller: '\Drupal\mymodule\Controller\ProfilController::checkMailCommit'
    _title: 'commit mail'
  options:
      query:
        token: ""
  requirements:
    _permission: 'access content'

次に、ルートでURLを作成します

'url' => Url::fromRoute('mymodule.mailcommitter', ['uid' => 1], ['query' => ['token' => 'hello']])

このドキュメントも確認してください: https://www.drupal.org/docs/8/api/routing-system/parameters-in-routes/using-parameters-in-routes

8
Rainer Feike