Chuyển hướng đến trang đầu với một ngôn ngữ khác


9

tôi có một câu hỏi về việc chuyển hướng đến một trang với một ngôn ngữ khác. Tôi đã tìm thấy bài đăng cũ này cho drupal 7 nhưng tôi không thực sự giúp tôi - https://www.drupal.org/node/1280468

Bây giờ chúng tôi đang ở Drupal 8 và chuyển hướng hoạt động như thế này:

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

Nhưng làm thế nào tôi có thể thiết lập ngôn ngữ cho chuyển hướng? Trong mã của tôi, tôi có mã languagecode như New Zealand cho New Zealand.

Câu trả lời:


16

Bạn có thể thử mã này

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

Nó hoạt động nhưng bạn không thể vượt qua 'nz', vì đó không phải là mã ngôn ngữ. Nó sẽ là en-au chẳng hạn
Yetispapa

Xấu của tôi, tôi chỉ kiểm tra ngôn ngữ của tôi :)
MrD

1

Trong phương thức điều khiển của bạn:

$url = \Drupal\Core\Url::fromRoute('<front>')->toString();
return new RedirectResponse($url);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.