Мультиязычность меню в Acquia marina 3.x

Главные вкладки

Аватар пользователя makkon makkon 26 января 2010 в 14:21

Есть acquia marina 3.x, с ней как положено fusion, skinr

Возник вопрос, как можно при переключении (используем i18n модуль) языка вывести другое меню вместо примари меню, которое мы заготовим сами.

нашел код, по которому выводится примари меню в page.tpl.php:
<?php print theme('grid_block'$primary_links_tree'primary-menu'); ?>

переменная $primary_links_tree формируется в темплейте fusion:

<?php// Generate links tree & add Superfish class if dropdown enabled, else make standard primary links
  $vars['primary_links_tree'] = '';
  if ($vars['primary_links']) {
    if (theme_get_setting('primary_menu_dropdown') == 1) {
      $vars['primary_links_tree'] = menu_tree(variable_get('menu_primary_links_source', 'primary-links'));
      $vars['primary_links_tree'] = preg_replace('/<ul class="menu/i', '<ul class="menu sf-menu', $vars['primary_links_tree'], 1);
    }
    else {
      $vars['primary_links_tree'] = theme('links', $vars['primary_links'], array('class' => 'menu'));
    }
  }?>

Вопрос, как мне можно прописать функцию theme(...) в шаблоне page.tpl.php, чтобы мое меню menu-primary-links-fr отображалось при выборе соответствующего языка. Спасибо.

Комментарии

Аватар пользователя makkon makkon 26 января 2010 в 21:30

ну а по сабжу нет соображений? мне бы это было гораздо полезнее, ибо пытаюсь в API разбираться, то есть как сформировать подобную primary-links переменную для любого другого меню

Аватар пользователя makkon makkon 4 февраля 2010 в 0:41

up, сижу копаюсь в модуле i18n, что-то не особо получается (раньше делал просто разные меню и выводил их в зависимости от языка)

тип контента page я перевел (разные ноды), заголовки и прочее научился.

проблема в том, что пункт примари меню, к которому я привязываю ноду, после ее перевода, отображается в двух экземплярах (в моем случае 2 языка), то есть и на первом языке и на втором
как это лечить можно?
спасибо