Drupal 7 получает локализованные данные таксономии в пользовательском коде php - PullRequest
0 голосов
/ 04 октября 2011

Я работаю на сайте drupal, и мне нужна информационная страница для данных таксономии.

Данные таксономии имеют некоторые дополнительные поля, которые отображаются, включая пользовательскую ссылку.

На странице таксономии по умолчанию запрещена пользовательская ссылка, и на ней будет отображаться контент, связанный с термином.

Я сделал модуль, который выводит блок, и я в основном использую этот код

$term = taxonomy_term_load($termId);

Это отлично работает, но я не могу получить переведенную версию таксономии! Я использую модуль i18n.

Как я могу получить локализованную версию таксономии?

Заранее спасибо,

Jorik

Ответы [ 3 ]

6 голосов
/ 07 ноября 2012

Параметр langcode taxonomy_term_view() используется для фильтрации по языку связанных узлов. это (к сожалению?) не связано с языком самого термина.

Вы можете получить локализованный термин i18n с

$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);
1 голос
/ 04 октября 2011

Вам нужно запустить ваш термин объекта через taxonomy_term_view(), который создаст представление для вас с определенным языковым кодом. Вы можете получить «текущий» язык для страницы, используя глобальный $language объект:

global $language;
$term = taxonomy_term_load($termId);
$view = taxonomy_term_view($term, 'full', $language->language);
$html_output = render($view);
0 голосов
/ 17 января 2012

Просто совет, так как при написании модуля Views не полностью поддерживает локализованные термины, как это делают страницы таксономии по умолчанию. Вы можете проверить http://drupal.org/project/i18nviews

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...