web-dev-qa-db-ja.com

すべての言語のURLを取得する

ページのルートがあり、サイトのすべての言語でそのリンクを取得したい。

私のサイトの連絡先ページは、英語の場合はen/contact、スペイン語の場合はes/contactenosです。

次のコードを使用しようとしていますが、サイトに設定されている現在の言語のURLのみを取得しています。

$route = 'contact.site_page';
$url = new Url($route);
$uri = $url->toString();

サイトで使用可能なすべての言語でそれを取得するにはどうすればよいですか?

3
rpayanm

私は次のコードで自分で解決策を見つけました。

// Get all languages of the site
$languages = \Drupal::languageManager()->getLanguages();

// Route of contact for example:
$route = 'contact.site_page';
foreach ($languages as $language) {
  $url = new Url($route, [], ['language' => $language]);
  $uri = $url->toString();
}
7
rpayanm