2011-02-16 3 views

답변

1

사용자의 현재 언어로 세션을 저장 한 다음 변경된 경우 첫 페이지로 리디렉션 한 다음이 세션을 변경 한 언어로 설정하십시오. 당신의 template.php에서
:
template.php 6 드루팔 쓰기에서

/** 
* Override or insert variables into the page templates. 
* 
* @param $vars 
* An array of variables to pass to the theme template. 
* @param $hook 
* The name of the template being rendered ("page" in this case.) 
*/ 
function THEMENAME_preprocess_page(&$vars, $hook) { 
    global $language; 
    $currentlanguage = isset($_SESSION['currentlanguage']) ? $_SESSION['currentlanguage'] : $language->language; 
    if ($language->language != $currentlanguage) { 
    drupal_goto(url().'/'.$language->language); //goto current language version, if you use http://SITEURL/{languagecode} version, otherwise change it to appropriate. 
    } 
} 
+0

? 나는 드루팔 (Drupal)에 대해 꽤 새로운 사람이다. 신참이 된 것을 유감스럽게 생각합니다. –

+1

테마의 template.php 파일에 코드를 입력하십시오. 위의 스 니펫에있는 "THEMENAME"을 테마 (또는 "phptemplate")의 이름으로 바꿔야합니다. –

+0

THEMENAME_preprocess_page 함수가 거기에 존재하는지 확인하십시오 (물론 THEMENAME을 테마 이름으로 변경하십시오). 거기에, 그냥 코드를 추가하십시오 ... – Nikit

1

:이 코드를 삽입 않고, 어디 세션을 설정하는

function THEMENAME_preprocess_page(&$vars, $hook) { 
    global $language; 
    $previouselanguage = isset($_SESSION['previouselanguage']) ? $_SESSION['previouselanguage'] : $language->language; 
    $_SESSION['previouselanguage'] = $language->language; 
    if ($language->language != $previouselanguage) { 
    drupal_goto(''); 
    } 
}