2013-10-09 3 views
0

는이 코드를 발견했습니다 :이 선택한 언어의 예에 mywebsite.com/de/current_page에서 저를 리디렉션드루팔 - 현재 페이지, 다른 언어

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

내가 mywebsite.com/en/current_page

답변

2

에 저를 리디렉션하려면 코드를 위해 무엇을 할 수 있는지 당신은 드루팔이 제공하는 url()request_path() 기능을 사용하려고이 같은 아마 뭔가 일 것입니다해야합니다

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

아니 그것 didn 히 현재 언어로 실제 페이지로 리다이렉트 중입니다. – Leeroy521

+0

아, 죄송합니다. url 문서를 읽은 후 언어 옵션이 언어 ID가 아니라 언어 객체를 원한다는 것을 깨달았습니다. 그에 따라 코드를 업데이트했습니다. 지금 해보십시오. :) –

+0

다시 작업, 현재 웹 페이지로 리디렉션, mywebsite.com/en/content-english에서 mywebsite.com/en/de/content-english로 리다이렉트 – Leeroy521