首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取多语言别名。- drupal_get_path_alias

获取多语言别名。- drupal_get_path_alias
EN

Stack Overflow用户
提问于 2012-09-18 16:10:55
回答 2查看 3.1K关注 0票数 0

我正在尝试创建一个多语言网站以下代码输出我的主菜单,但是当用户切换语言时,链接被保留为英语。我正在使用i8ln和实体翻译。这两个节点存在,那么如何检索多语言页面的链接呢?我认为drupal_get_path_alias()可以通过切换语言来工作。下面的代码。

代码语言:javascript
代码运行次数:0
运行
复制
<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; ?>
EN

回答 2

Stack Overflow用户

发布于 2012-12-13 21:45:40

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

代码语言:javascript
代码运行次数:0
运行
复制
<?php
  global $language;
  $url = url('node/1', array('language' => $language));
?>

使用可用的全局$language对象。

票数 3
EN

Stack Overflow用户

发布于 2016-03-09 14:39:46

这对我来说很有效:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
    global $language;
    $url_nodo = url('node/' . $id_nodo, array('language' => $language));
    $url_path = drupal_get_path_alias($url_nodo);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12472863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档