「?」を渡そうとしていますと '='シンボルを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
?この文字列は、フォームのフィールドに事前入力するために必要です。
同じ質問を見つけてください ここ ですが、返信はありません。解決策はありません:(。
次のように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