Никто не сталкивался с такой проблемой? Когда делаешь пункты меню картинками при помощи Imageset, то трудно сделать многоязычное меню: когда пути пересекаются (например, на главную страницу), может вылазить не та версия картинки в меню, не английская, а русская, а наоборот.
У меня пока нет идей, как это фиксить, может че-то не то делаю? У меня два графических меню в двух разных картинках и два разных меню, англ. и рус.
Комментарии
1. переопределить вывод theme_imageset в вашей теме в файле template.php
<?php
function phptemplate_imageset($name, $index = NULL, $attributes = NULL) {
global $locale;
if (!isset(
$index)) {if (preg_match('/(\w+):(\d+)/', $name, $matches)) {
$name = $matches[1];
$index = $matches[2];
}
}
$isname = str_replace('_lang', $locale, $name);
$img = _imageset_imageset($isname, TRUE);
if (!isset($img)) {
$isname = str_replace('_lang', '', $name); // default imageset
}
return theme_imageset($isname, $index, $attributes);
}
?>
2. создавать сеты с наборами по языкам с именами заканчивающимися на ИД языка (buttonru, buttonen, buttonfr и др)
Один сет создать без ИД в имени (button) для языка по-умолчанию, будет использоваться в случае добавления нового языка для которого сета нет.
3. создать сет с именем button_lang (файл можно загрузить любой, он использоваться не будет), его мы будем использовать для связи с пунктами меню
Выбирать для пунктов меню сет с именем button_lang.
при генерации странички он будет подменяться в зависимости от текущей локали на buttonru или buttonen, buttonfr и др.