2013-10-09 41 views
0

我找到这个代码:Drupal的 - 当前页,其他语言

<?php global $language; ?> 
<?php global $theme_path; ?> 

<ul class="language-switcher-locale-url"> 
    <?php $languages = language_list() ?> 
    <?php foreach($languages as $lang): ?> 
    <?php $active = $language->language == $lang->language ? " active" : ""; ?> 
    <li class="<?php echo $lang->language ?><?php echo $active ?>"> 
     <a href="/<?php echo $lang->prefix ?>"> 
      <img src="/<?php echo $theme_path ?>/images/flags/<?php echo $lang->language ?>.png" alt="<?php echo $lang->language ?>"/> 
     </a> 
    </li> 
    <?php endforeach ?> 
</ul> 

这重定向我从mywebsite.com/de/current_page所选语言前。 mywebsite.com/en

我能为我的代码来重定向我mywebsite.com/en/current_page

回答

2

做你应该尝试使用url()request_path()功能Drupal提供,也许像这样的工作:

<?php global $language; global $theme_path; $languages = language_list() ?> 

<ul class="language-switcher-locale-url">                                           
    <?php foreach($languages as $lang): ?> 
    <?php $active = $language->language == $lang->language ? " active" : ""; ?> 
    <li class="<?php echo $lang->language ?><?php echo $active ?>"> 
     <a href="<?php echo url(request_path(), array('language' => $lang)); ?>"> 
     <img src="/<?php echo $theme_path ?>/images/flags/<?php echo $lang->language ?>.png" alt="<?php echo $lang->language ?>"/> 
     </a> 
    </li> 
    <?php endforeach ?> 
</ul> 
+0

罗也没不工作,它只是重定向到当前语言的实际页面 – Leeroy521

+0

啊,对不起,在阅读url文档后,我意识到语言选项需要语言对象,而不是语言ID。我相应地更新了代码。现在尝试。 :) –

+0

它没有工作,重定向到当前语言的实际页面,如从mywebsite.com/en/content-english到mywebsite.com/en/de/content-english – Leeroy521