Расположение кнопок переключения языка

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

Аватар пользователя LeeleeKeelee LeeleeKeelee 23 октября 2010 в 10:17

Доброго времени суток!
Не силён в темизации, поэтому прошу вашей помощи...
В гугл ходил, ничего конкретного не нашёл

Так вот, вопрос в том, каким образом можно аккуратненько расположить кнопки переключения языка? Скажем, гденибудь в правом верхнем углу страницы
Оригинальная страница: http://dl.dropbox.com/u/3322659/temp/l.png
Примерный желаемый результат: http://dl.dropbox.com/u/3322659/temp/lg.png (кнопки справа, сверху)

Или предложите более удобоваримый вариант Smile

Конечно, легко можно было бы сделать это блоками, но этот сайт реализован без блоков (тоесть, без боковых панелей), а ради переключения языков включать боковые панели не охото...

Очень надеюсь на вас!

Комментарии

Аватар пользователя oboroten oboroten 25 октября 2010 в 13:59

Вариант 1 вывести блок напрямую в шаблоне страницы (поиск по сайту)
вариант 2 тоже блоком в шаблон но с небольшим дополнением для активности ссылок

 <?php <div id="lang"><div class="<?php global $language; print $language->language; ?> "><?php $block module_invoke('locale''block''view'0); print $block['content']; ?></div></div> ?>

найдено на просторах то ли друпл ру то ли орг

Аватар пользователя LeeleeKeelee LeeleeKeelee 23 октября 2010 в 13:50

"oboroten" wrote:

Вариант 1 вывести блок напрямую в шаблоне страницы (поиск по сайту)
вариант 2 тоже блоком в шаблон но с небольшим дополнением для активности ссылок
<?php

language; ?> "><?php $block = module_invoke('locale', 'block', 'view', 0); print $block['content']; ?>

?>
найдено на просторах то ли друпл ру то ли орг


Спасибо за вариант! Но я подозреваю, что блок будет отображаться в полном размере, тоесть с рамкой блока, его названием и прочим - это громоздко... А есть вариант, чтоб вывести просто вот две маленькие иконки, гденибудь в углу страницы?

Аватар пользователя LeeleeKeelee LeeleeKeelee 24 октября 2010 в 11:23

не особо силён в темизации... бился-бился, так ничего и не добился. В page.tpl пытался его прописать - не выводится ничего Sad

Аватар пользователя oboroten oboroten 25 октября 2010 в 15:41

странно. Ведь именно в page.tpl.php этот код и надо прописывать

<div id="lang"><div class="<?php global $language; print $language->language; ?> "><?php $block = module_invoke('locale', 'block', 'view', 0); print $block['content']; ?></div></div>

часть кода <?php $block module_invoke('locale''block''view'0); print $block['content']; ?>
выводит содержимое блока "Переключатель языка"

эта часть кода <?php<div class="<?php global $language; print $language->language?> ">?>

добавляет класс ru или en (в зависимости от того какие зыки используются) для темизации активного языка.

смею сделать предположение что возможно в вашем шаблоне использовано что-то вроде overflow: hidden; или z-index: отчего выводимый блок уходит в невидимую часть страницы или же под какой-то элемент.
Так же стоит попробовать сбросить кеш.

Мне уже неоднократно приходилось использовать данный код и ни разу он не подводил.

Аватар пользователя mikelo mikelo 31 октября 2010 в 18:17

Вставил данный код - отобразился список языков вертикальным списком. Как вывести горизонтально?

Аватар пользователя temyshk temyshk 10 февраля 2013 в 18:07

"oboroten" wrote:
Оформить правила цсс для того что выводится.

Распишите, пожалуйста, подробнее есть блок lang
<div id="lang">
В style.css прописываем:

.lang {
                width:***px;
                margin:0 auto;
                text-align:right;
                padding:0 0 20px 0;
                }

Далее применяем стиль:
 <div id="lang" class="lang">

Что нужно прописать в css что бы флаги были в одну линию?
Нужно использовать position?
P.S. использую Consistent Language Interface, в нем настроек нет

Аватар пользователя AlexFreem AlexFreem 18 марта 2013 в 16:24

"temyshk" wrote:
Что нужно прописать в css что бы флаги были в одну линию?

Если не ошибаюсь по памяти то внутри вашего

должен в итоге быть список ul с элементами li.
В таком случае пропишите еще такое:
.lang ul li {
 display: inline-block;
}
Аватар пользователя temyshk temyshk 22 марта 2013 в 1:38

"AlexFreem" wrote:
Если не ошибаюсь по памяти...

Не ошибаетесь помогло! Спасибо

Вот что нужно прописать в style.css для моего случая флаги (без текста) выведены в отдельном блоке справа вверху

.lang ul li {
                display: inline-block;
                float:right;
                padding:0 10px 0 0;
                position: relative;
                }

Далее в шаблоне страницы page.tpl.php (и в шаблоне для главной если необходимо page-front.tpl.php), в используемой теме создаем свой блок, с нашим классом lang:

<div id="lang" class="lang">
                 <?php print $lang;?>
          </div><!--lang block-->

Не забываем прописать свой блок в файле названиетемы.info и определить на странице блоков в наш блок lang модуль Consistent Language Interface