获得多语种别名。 - drupal_get_path_alias

时间:2012-09-18 08:10:55

标签: path drupal-7 multilingual

我正在尝试创建一个多语言网站,以下代码输出我的主菜单,但是当用户切换语言时,链接将保留为英语。我正在使用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; ?>

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,我用下面的代码解决了这个问题:

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

使用可用的全球$语言对象。

答案 1 :(得分:0)

这对我有用:

<?php
    global $language;
    $url_nodo = url('node/' . $id_nodo, array('language' => $language));
    $url_path = drupal_get_path_alias($url_nodo);
?>