私のDrupal 8多言語プロジェクトで、基本的なページを作成するカスタムコントローラーを作成しましたが、ルーティングで使用する必要のあるパラメーターがわかりません。これは_locale
?
これはルートの定義です。
custom.route:
path: '{_locale}/portail'
defaults:
_content: '\Drupal\my_module\Controller\DisplayController::display'
requirements:
_access: 'TRUE
これは私がコントローラークラスで使用しているコードです。
public function display(Request $request, $locale) {
var_dump($locale);die;
}
言語が検出され、ルーティングの前にプレフィックスが削除されます。したがって、パラメーターのない静的ルートがあり、コントローラーで言語マネージャーからプレフィックスを取得できます。
$langcode = $this->languageManager()->getCurrentLanguage()->getId();