web-dev-qa-db-ja.com

別の言語でフロントページにリダイレクトする

異なる言語のページへのリダイレクトについて質問があります。 drupal 7の古い投稿を見つけましたが、実際には役に立ちません- https://www.drupal.org/node/1280468

Drupal 8になりました。リダイレクトは次のように機能します。

return new RedirectResponse(\Drupal::url('<front>'))

しかし、リダイレクトの言語を設定するにはどうすればよいですか?私のコードには、ニュージーランドのNZのような言語コードがあります。

8
Stephan Hofmann

このコードを試すことができます

 <?php

 use Drupal\Core\Url;
 use Symfony\Component\HttpFoundation\RedirectResponse;

 $language = Drupal::languageManager()->getLanguage('vi');
 $url = Url::fromRoute('<front>', [], ['language' => $language]);
 $response = new RedirectResponse($url->toString());
 $response->send();
15
MrD

コントローラーメソッド内:

$url = \Drupal\Core\Url::fromRoute('<front>')->toString();
return new RedirectResponse($url);
1
caligari