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


9

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

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

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

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

回答:


16

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

 <?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();

動作しますが、言語コードではないため、「nz」を渡すことはできません。たとえばen-auです
イエティスパパ

私の悪い、私は私の言語をチェックするだけです。:)
MrD

1

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

$url = \Drupal\Core\Url::fromRoute('<front>')->toString();
return new RedirectResponse($url);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.