0

我正在尝试创建一个多语言站点,以下代码输出我的主菜单,但是当用户切换语言时,链接将保留为英语。我正在使用 i8ln 和实体翻译。这两个节点存在,那么如何检索多语言页面的链接?我认为 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 回答
0

这对我有用:

<?php
    global $language;
    $url_nodo = url('node/' . $id_nodo, array('language' => $language));
    $url_path = drupal_get_path_alias($url_nodo);
?>
于 2016-03-09T06:39:46.310 回答