Mistraë
Mistraë

Reputation: 337

Drupal - Current page, other language

i've found this code :

<?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>

This redirects me from mywebsite.com/de/current_page to the selected language ex. mywebsite.com/en

what can i do for my code to redirects me to mywebsite.com/en/current_page

Upvotes: 0

Views: 233

Answers (1)

Patrick Coffey
Patrick Coffey

Reputation: 1083

You should try using the url() and request_path() function that Drupal provides, perhaps something like this would work:

<?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>

Upvotes: 2

Related Questions