Никак не могу понять каким образом можно настроить вид блока с перключением языков. У меня в настройках отображаются оба возможных языка с флагами. Мне очень нужно вывести их в одну строку(а не в столбик) и убрать кружки от списка(
<?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 у меня не работает...
Для версии 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;
}
?>
Комментарии
CSS или перепиши функцию вывода, если первое то поищи на тему inline...
В 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;
}
?>
Если я правильно понял, допустим мне нужно заточить вывод языков.
Я
1.Копирую код в page.tpl.php
2. Создаю template.php и в него вставляю вторую часть кода.
----
везде меняю вашатема на название моей., и многоточия убираю.
-----
В localizer'e у меня не работает...
Нет неправильно точечки это пропущеный код найди эту функцию в engine и скопируй от туда код...
Советую самому найти, тогда в будущем меньше вопросов будет, если совсем никак то скопируй следующее...
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')
);
}
?>
Для версии 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;
}
?>