2011-10-04 1 views
0

저는 Drupal 사이트에서 작업 중이며 분류 데이터에 대한 정보 페이지가 있어야합니다.드루팔 (Drupal 7)은 사용자 정의 PHP 코드에서 지역화 된 분류 데이터를 가져옵니다.

분류 데이터에는 사용자 정의 링크를 포함하여 일부 추가 필드가 표시됩니다.

기본 분류 페이지는 맞춤 링크를 허용하지 않으며 용어와 관련된 콘텐츠를 표시합니다. 원하지 않습니다.

나는 블록을 출력하는 모듈을했고, 나는 basicly이 코드

$term = taxonomy_term_load($termId); 

이 잘 작동을 사용하고 있습니다,하지만 난 분류의 번역 된 버전을 얻을 수 없습니다! i18n 모듈을 사용하고 있습니다.

분류 체계의 지역화 된 버전을 얻으려면 어떻게해야합니까? 사전에

감사합니다,

Jorik

답변

1

당신은 특정 언어 코드와 함께 당신을 위해 뷰를 구축 할 것, taxonomy_term_view() 통해 용어 개체를 실행해야합니다. 당신은 글로벌 $language 객체를 사용하여 페이지의 '현재'언어를 얻을 수 있습니다 :

global $language; 
$term = taxonomy_term_load($termId); 
$view = taxonomy_term_view($term, 'full', $language->language); 
$html_output = render($view); 
+2

으로 국제화 지역화 용어를 얻을 수 있습니다

이 작동하지 않는 것! 'Localize'를 사용하고 있습니다. 용어는 모든 언어에 공통적이지만 그 이름과 설명은 현지화 될 수 있습니다. ', 기본 분류학 페이지로 이동하면 작동하지 않습니다. 왜 이것이 작동하지 않는지 알 수 있습니까? – Jorik

6

langcode 매개 변수 taxonomy_term_view()은 연관된 노드의 언어로 필터링하는 데 사용됩니다. (불행히도?) 용어 자체의 언어와 관련이 없습니다. 당신은

$term = taxonomy_term_load($tid); 
if (module_exists('i18n_taxonomy')) { 
    module_load_include('inc', 'i18n', 'i18n_taxonomy.pages'); 
    $term = i18n_taxonomy_localize_terms($term); 
} 
print render(taxonomy_term_view($term, 'full'), $language->language); 
관련 문제