Изменение блока переключения языков(localizer)

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

Аватар пользователя mclighters mclighters 18 декабря 2007 в 11:07

Никак не могу понять каким образом можно настроить вид блока с перключением языков. У меня в настройках отображаются оба возможных языка с флагами. Мне очень нужно вывести их в одну строку(а не в столбик) и убрать кружки от списка(

  • )?
  • Комментарии

    Аватар пользователя PVasili PVasili 18 декабря 2007 в 11:34

    В page.tpl.php

    <?php if ($lang): theme('item_list', $lang); endif; ?>

    Соответственно в template.php
    добавить регион
    <?php
    function вашатема_regions() {
    return array(
    ....
    'lang' => t('languade'),
    );
    }
    ?>
    Ну и описать переопределить его вывод, например так:
    <?php
    function вашатема_item_list() {
    $output = '';
    foreach(localizer_available_uilocales() as $lang => $langname)
    {
    $links = ($lang == i18n_get_lang()) ?
    l($lang, 'switchuilocale/'.$lang, array('title' => $langname, 'class' => 'active'), NULL, NULL, FALSE, TRUE)
    :
    l($lang, 'switchuilocale/'.$lang, array('title' => $langname), NULL, NULL, FALSE, TRUE);

    $output .= $links;
    }
    return $output;
    }
    ?>

    Аватар пользователя Гость Гость (не проверено) 27 декабря 2007 в 16:57

    Если я правильно понял, допустим мне нужно заточить вывод языков.
    Я
    1.Копирую код в page.tpl.php
    2. Создаю template.php и в него вставляю вторую часть кода.

    ----
    везде меняю вашатема на название моей., и многоточия убираю.
    -----
    В localizer'e у меня не работает...

    Аватар пользователя EliteMonk EliteMonk 28 декабря 2007 в 14:32

    Советую самому найти, тогда в будущем меньше вопросов будет, если совсем никак то скопируй следующее...

    <?php

    function вашатема_regions() {
      return array(
           'left' => t('left sidebar'),
           'right' => t('right sidebar'),
           'content' => t('content'),
           'header' => t('header'),
           'footer' => t('footer'),
           'lang' => t('region for language')
      );
    }

    ?>

    Аватар пользователя player player 16 марта 2008 в 17:35

    Для версии 3.3 все немного поменялось. localizer_available_uilocales там уже нет. Сделал так
    page.tpl.php
    <?php
    print theme('item_list', $lang);
    ?>
    template.php
    <?php
    function имя_темы_item_list() {
    $output = '';
    // собственно нововведение
    $languages=localizer_block_switch_language_links(variable_get('localizer_switchblock_showflags', TRUE), variable_get('localizer_switchblock_showlangname',TRUE),' ',FALSE);
    foreach($languages as $i=>$link) {
    $output .= $link;
    }
    return $output;
    }
    ?>