Вы здесь

Как локализовать таксономию в панелях?

1

Здравствуйте!

Страницы собираю в Page manager в Шаблоне термина таксономии. Также связь с таксономией используется на кастомных страницах в ctools плагине для панелей. Поэтому для перевода таксономии на странице /admin/structure/taxonomy/catalog/edit в мультиязычных опциях выбираю Localize, а не Translate.

Для перевода своего текстового поля использую хук

<?php
/**
 * Implements hook_i18n_string_list_TEXTGROUP_alter().
 */
function YOUR_MODULE_i18n_string_list_taxonomy_alter(&$strings, $type, $object) {
  if ($type == 'taxonomy_term' && $object) {
    if (isset($object->FIELD_NAME)) {
      $term_FIELD_NAME = field_get_items('taxonomy_term', $object, 'FIELD_NAME');
      $strings['taxonomy']['term'][$object->tid]['FIELD_NAME']['string'] = $term_FIELD_NAME[0]['value'];
    }
  }
}

Включены модули i18n_taxonomy и pathauto_i18n_taxonomy. При переключении языка все поля таксономии (заголовок, описание, своё текстовое) остаются на русском языке. При отключении панели язык меняется. Подскажите, пожалуйста, в чём проблема и как исправить?

Версия Drupal: 
7.x
Категория: 
Multilingual
Вопрос задан 28.05.2017 - 18:56

Ответы