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