10

나는 다국 언어 (Drupal 7) 웹 사이트를 운영하고 있습니다. 국제화 (7.x-1.0-beta2) 모듈을 설치했습니다.다중 언어의 여러 프론트 페이지

각 언어에 대해 페이지를 작성하고 다른 두 언어로 번역했습니다.

내가 원하는 것은 다음과 같습니다. 어떤 언어가 선택되었는지 알기 위해 일종의 지능적인 "첫 페이지"를 설정하고 해당 언어로 된 첫 페이지를 설정합니다.

어떻게하면됩니까? 저는 국제화 모듈에서 그런 종류의 것이 없다는 것을 알고 있습니다. 맞습니까? 프론트 페이지를 아무 것도 설정하지 않으면 "아직 프론트 페이지 컨텐츠가 생성되지 않았습니다."Drupal이 프론트 페이지를 설정하도록 요청했기 때문에 정상적으로 작동합니다. 그러나 각 언어에 대해 첫 장.

답변

36

이 대답과 함께 파티에 늦게 될 수도 있지만 많은 시간이 나 자신을 해결하기 위해 노력 보낸 후, 나는 해결책을 다음했습니다

은 내가 template.php에 다음 코드를 추가했습니다. 드루팔 7의

:

1이 모듈이 변수가 있고 변수 번역이 켜져 있는지 확인합니다.
2 - admin/config/regional/i18n/variable로 이동
3 '사이트 정보'목록 탭을 선택하고 '기본 첫 페이지'를 선택하고 설정을 저장하십시오.
4- admin/config/system/site-information으로 이동하면 다국어 변수가되는 일부 설정과 실행중인 언어에 대한 링크 목록에 대한 텍스트 블록이 나타납니다. 각 언어에 대한 설정.

이제 실제 GOTCHA가 나타납니다. 링크를 클릭하고 설정을 변경하면 아무런 변화가 없습니다. 왼쪽과 같은 설정으로 모든 언어가 계속 표시됩니다. 이 주변의 길?

같은 현재에있는 URL, 전체 것은, 그래서 뭔가 확인 : http://www.example.com/en/admin/config/system/site-information/

주의가 언어 접두사 전/관리자를 ?? 사용할 다른 언어의 설정을 변경하려면 URL의 접두사를 전환 한 다음 변경하십시오. 그리고 마술처럼, 여러 프론트 페이지가 언어에 따라 적절히 바뀝니다.

이것은 드루팔 (Drupal의 버그 일 것임에 틀림 없다. 나는 표를 여는 것 주위에 가야한다. 그러나 지금 당장 다른 누군가가이 문제를 겪으면 문제가 해결되기를 바랍니다.

+1

실제로 요즘 i18n 모듈은 현지화 된 변수가있는 관리 페이지 맨 위에 언어 전환기를 표시합니다. – nfechner

+0

누구나 이걸 우연히 발견합니다. 2016 년 9 월 현재, Drupal 7을 설치하기 위해서는이 단계를 수행해야합니다. 번역이 다르게 수행되기 때문에 D8이 더 좋고/고정되어있을 것이라고 확신합니다 (단, 단어를 사용하지 마십시오). –

0

아직 Drupal 7 i18n을 사용하지는 않았지만 Drupal 6에서는 settings.php의 $ conf [ 'i18n_variables'] 변수에 site_frontpage 변수를 추가 한 다음 각 언어로 차례로 전환하고 FrontPage를 켜기로 설정했습니다 사이트 정보 페이지.

또는 당신이 당신의 테마 전면 page.tpl.php에 조건을 지정할 수 있습니다 like so

+0

답변 해 주셔서 감사합니다. 두 가지 방법을 모두 시도했지만 불행히도 Drupal 7에서 작동하지 않습니다. –

1

이 더 좋은 방법이 있지만, 결국 그는 내가 한 방법입니다 수 있음.

/** 
* Implements hook_preprocess_page(). 
*/ 
function aelius_preprocess_page(&$vars) { 
    if ($vars['is_front']) { 
     $langcode = $GLOBALS['language']->language; 

     if ($langcode == "en") { 
      drupal_goto('home'); 
     } elseif ($langcode == "fr") { 
      drupal_goto('accueil'); 
     } 
    } 
} 
+0

이로 인해 무한 루프가 발생합니다 – 118218

2

내 머리카락을 벗겨 내고 난 후에이 기능은 익명의 페이지 캐싱과 호환되지 않는 입니다.

/admin/config/development/performance로 이동하여 익명 사용자의 페이지 캐싱을 해제하십시오.