0

次のコードでメイン メニューを出力する多言語サイトを作成しようとしていますが、ユーザーが言語を切り替えてもリンクは英語のままです。i8ln とエンティティ変換を使用しています。2 つのノードが存在しますが、多言語ページへのリンクを取得するにはどうすればよいですか? drupal_get_path_alias() は、言語を切り替えることで動作すると思いました。以下のコード。

<ul id="main-menu">


      <?php

foreach($main_menu as $index)
{

dsm($index);


$path = file_create_url($index['menu_icon']['path']);

$class = $index['attributes']['class'][0];

$current = "node/".$node->nid;

$lang_name = $language->language ;

$linky = drupal_get_path_alias($index['href'], $lang_name);

if ($current == $index['href']) {
$class .= " selected";
};
   print '<li class="'.$class.'">
   <img src="'.$path.'" alt="icon-rockfall" />



   <a class="'.$class.' textlink" href="/'.$linky.'">'.$index['title'].'</a></li>';


   }


            ?>
         </ul>
       </nav>
      <?php endif; ?>
4

2 に答える 2

3

私は同じ問題を抱えていましたが、以下のコードで解決しました:

<?php
  global $language;
  $url = url('node/1', array('language' => $language));
?>

利用可能なグローバル $language オブジェクトを使用します。

于 2012-12-13T13:45:40.257 に答える