Вход на сайт
Joomla-два-языка-шаблон-лого
1036
NEW 15.02.11 19:46
что то никак не могу сообразить,
в шаблоне есть такой участок кода, где подгружается лого:
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl ?>/templates/ythema/images/logo.png', sizingmethod='crop');}
}
ну вот, хочу подключать в зависимости от языка разные рисунки, logo.png для русского или logo1.png для нем.
Вроде как должно быть достаточно просто все, что то типа if($mosConfig_lang==russian) - и первую картинку подгружаем, if - вторую
но как эту конструкцию с этим выводом применить, что то не соображу никак..
в шаблоне есть такой участок кода, где подгружается лого:
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl ?>/templates/ythema/images/logo.png', sizingmethod='crop');}
}
ну вот, хочу подключать в зависимости от языка разные рисунки, logo.png для русского или logo1.png для нем.
Вроде как должно быть достаточно просто все, что то типа if($mosConfig_lang==russian) - и первую картинку подгружаем, if - вторую
но как эту конструкцию с этим выводом применить, что то не соображу никак..
NEW 15.02.11 20:38
Как то так
function logoSRC(){
if($mosConfig_lang==russian){$logoSrc="ПутьКРусскомуЛого";}
else{$logoSrc="ПутьКНеРусскомуЛого";}
return $logoSrc;}
..
Ну и в шаблоне:
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl.logoSRC() ?>', sizingmethod='crop');}
}
...
function logoSRC(){
if($mosConfig_lang==russian){$logoSrc="ПутьКРусскомуЛого";}
else{$logoSrc="ПутьКНеРусскомуЛого";}
return $logoSrc;}
..
Ну и в шаблоне:
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl.logoSRC() ?>', sizingmethod='crop');}
}
...
NEW 15.02.11 20:46
в ответ alexnaum 15.02.11 19:46
в папке images создай 2 папки "russian" "deutsche"
в которые запишеш соответствующие лого
ну и правилный путь к картинке в шаблоне
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl ?>/templates/ythema/images/<?php echo $mosConfig_lang ?>
/logo.png', sizingmethod='crop');}
}
в которые запишеш соответствующие лого
ну и правилный путь к картинке в шаблоне
html #logo {
background:none;
filter:progid:dximagetransform.microsoft.alphaimageloader(src='<?php echo $this->baseurl ?>/templates/ythema/images/<?php echo $mosConfig_lang ?>
/logo.png', sizingmethod='crop');}
}
NEW 16.02.11 11:05
в ответ Валидол 15.02.11 23:36
в общем то хотелось бы.
Я так понимаю, что тут 2 варианта - либо стили для лого не определять в файле css, а прописывать напрямую в index.php шаблона,
либо создать второй файл css, и подключать тот или иной в зависимости от языка.
Попробовал пойти вторым путем, как показалось, более легким, используя твой алгоритм:
изначалько файл css подключается таким образом:
<link href="<?php echo $this->baseurl ?>/templates/ythema/css/template_css.css" rel="stylesheet" type="text/css" media="screen" />
прописал функцию
function tempCSS(){
if (
$mosConfig_lang==russian){
$tempCss="/templates/ythema/css/template_css.css";
}
else {
$tempCss="/templates/ythema/css/template1_css.css";
}
return $tempCss;
}
ну и тогда, следуя логике, подключение файла css должно быть где то таким:
<link href="<?php echo $this->baseurl.tempCSS() ?>" rel="stylesheet" type="text/css" media="screen" />
но что то не так, теперь вне зависимости от языка подключается нерусское лого...
что где ошибаюсь?
Я так понимаю, что тут 2 варианта - либо стили для лого не определять в файле css, а прописывать напрямую в index.php шаблона,
либо создать второй файл css, и подключать тот или иной в зависимости от языка.
Попробовал пойти вторым путем, как показалось, более легким, используя твой алгоритм:
изначалько файл css подключается таким образом:
<link href="<?php echo $this->baseurl ?>/templates/ythema/css/template_css.css" rel="stylesheet" type="text/css" media="screen" />
прописал функцию
function tempCSS(){
if (
$mosConfig_lang==russian){
$tempCss="/templates/ythema/css/template_css.css";
}
else {
$tempCss="/templates/ythema/css/template1_css.css";
}
return $tempCss;
}
ну и тогда, следуя логике, подключение файла css должно быть где то таким:
<link href="<?php echo $this->baseurl.tempCSS() ?>" rel="stylesheet" type="text/css" media="screen" />
но что то не так, теперь вне зависимости от языка подключается нерусское лого...
что где ошибаюсь?
NEW 16.02.11 11:28
Ошибка по видимому в этом коде $mosConfig_lang==russian
Попробуй немного по другому сделать..
Попробуй немного по другому сделать..
function tempCSS(){
$config=&JFactory::getConfig();
$lang=$config->getValue('language');
///Стандартные значения $lang для немецкого="de-DE", для русского: "ru-RU". Ну или вставь echo $lang и посмотри что у тебя выводит.
if (
$lang=="ru-RU"){
$tempCss="/templates/ythema/css/template_css.css";
}
else {
$tempCss="/templates/ythema/css/template1_css.css";
}
return $tempCss;
}
...
Sory за update
NEW 16.02.11 12:54
в ответ vlad_s_69 16.02.11 12:15
Да, так будет правильней. И об этом, раньше тебя, говорил
alex_martirosov . Опиши он более подробнее тема двинулась бы в том направлении. Но он не написал, не пишешь и ты. Опиши с кусочком кода, и адресуй не мне а человеку нуждающемуся.

NEW 16.02.11 14:06
в ответ Валидол 16.02.11 12:54
хорошо, давайте попробуем этот вариант тоже.
Вернее, раз такой вариант, я бы хотел попробовать перевести оставшуюся непереведенной последнюю часть шаблона.
А именно: к пунктам меню прилагаются дополнительные описания - получается, сверху название пункта меню, под ним - описание. Описания редактируются в админке в общих настройках шаблона, все изменения вносятся в файл params.ini
Кроме того, вот где еще присутствут и каким образом передаются переменные этих описаний меню.
...\templates\ythema\params.ini
xml_text_menu_1=На главную
xml_text_menu_2=Новости и новинки
xml_text_menu_3=Наш форум
xml_text_menu_4=Наш стол заказов
xml_text_menu_5=Свяжитесь с нами
xml_text_menu_6=О компании
xml_text_menu_7=musatoffalex
xml_text_menu_8=musatoffalex
xml_text_menu_9=text9
xml_text_menu_10=text10
...\templates\ythema\templateDetails.xml
<param name="xml_text_menu_1" type="text" default="text1" label="Text label 1" description="Enter what sub text you would like for the first menu item" />
<param name="xml_text_menu_2" type="text" default="text2" label="Text label 2" description="Enter what sub text you would like for the second menu item" />
<param name="xml_text_menu_3" type="text" default="text3" label="Text label 3" description="Enter what sub text you would like for the third menu item" />
<param name="xml_text_menu_4" type="text" default="text4" label="Text label 4" description="Enter what sub text you would like for the fourth menu item" />
<param name="xml_text_menu_5" type="text" default="text5" label="Text label 5" description="Enter what sub text you would like for the fifth menu item" />
<param name="xml_text_menu_6" type="text" default="text6" label="Text label 6" description="Enter what sub text you would like for the sixth menu item" />
<param name="xml_text_menu_7" type="text" default="text7" label="Text label 7" description="Enter what sub text you would like for the seventh menu item" />
<param name="xml_text_menu_8" type="text" default="text8" label="Text label 8" description="Enter what sub text you would like for the eighth menu item" />
<param name="xml_text_menu_9" type="text" default="text9" label="Text label 9" description="Enter what sub text you would like for the nineth menu item" />
....
...\templates\ythema\index.php
$text_menu_1 = $this->params->get ("xml_text_menu_1");
$text_menu_2 = $this->params->get ("xml_text_menu_2");
$text_menu_3 = $this->params->get ("xml_text_menu_3");
$text_menu_4 = $this->params->get ("xml_text_menu_4");
$text_menu_5 = $this->params->get ("xml_text_menu_5");
$text_menu_6 = $this->params->get ("xml_text_menu_6");
$text_menu_7 = $this->params->get ("xml_text_menu_7");
$text_menu_8 = $this->params->get ("xml_text_menu_8");
$text_menu_9 = $this->params->get ("xml_text_menu_9");
$text_menu_10 = $this->params->get ("xml_text_menu_10");
....
вот эти то вот записи в params.ini - "на главную", "о компании" и т.д. - я бы и хотел, чтобы менялись зависимо от языка.
Первым путем, похоже, пойти не получается - params.ini вроде как второй так просто не подключается, как я подключил css...
Ну вот может вторым путем это можно будет сделать?
Вернее, раз такой вариант, я бы хотел попробовать перевести оставшуюся непереведенной последнюю часть шаблона.
А именно: к пунктам меню прилагаются дополнительные описания - получается, сверху название пункта меню, под ним - описание. Описания редактируются в админке в общих настройках шаблона, все изменения вносятся в файл params.ini
Кроме того, вот где еще присутствут и каким образом передаются переменные этих описаний меню.
...\templates\ythema\params.ini
xml_text_menu_1=На главную
xml_text_menu_2=Новости и новинки
xml_text_menu_3=Наш форум
xml_text_menu_4=Наш стол заказов
xml_text_menu_5=Свяжитесь с нами
xml_text_menu_6=О компании
xml_text_menu_7=musatoffalex
xml_text_menu_8=musatoffalex
xml_text_menu_9=text9
xml_text_menu_10=text10
...\templates\ythema\templateDetails.xml
<param name="xml_text_menu_1" type="text" default="text1" label="Text label 1" description="Enter what sub text you would like for the first menu item" />
<param name="xml_text_menu_2" type="text" default="text2" label="Text label 2" description="Enter what sub text you would like for the second menu item" />
<param name="xml_text_menu_3" type="text" default="text3" label="Text label 3" description="Enter what sub text you would like for the third menu item" />
<param name="xml_text_menu_4" type="text" default="text4" label="Text label 4" description="Enter what sub text you would like for the fourth menu item" />
<param name="xml_text_menu_5" type="text" default="text5" label="Text label 5" description="Enter what sub text you would like for the fifth menu item" />
<param name="xml_text_menu_6" type="text" default="text6" label="Text label 6" description="Enter what sub text you would like for the sixth menu item" />
<param name="xml_text_menu_7" type="text" default="text7" label="Text label 7" description="Enter what sub text you would like for the seventh menu item" />
<param name="xml_text_menu_8" type="text" default="text8" label="Text label 8" description="Enter what sub text you would like for the eighth menu item" />
<param name="xml_text_menu_9" type="text" default="text9" label="Text label 9" description="Enter what sub text you would like for the nineth menu item" />
....
...\templates\ythema\index.php
$text_menu_1 = $this->params->get ("xml_text_menu_1");
$text_menu_2 = $this->params->get ("xml_text_menu_2");
$text_menu_3 = $this->params->get ("xml_text_menu_3");
$text_menu_4 = $this->params->get ("xml_text_menu_4");
$text_menu_5 = $this->params->get ("xml_text_menu_5");
$text_menu_6 = $this->params->get ("xml_text_menu_6");
$text_menu_7 = $this->params->get ("xml_text_menu_7");
$text_menu_8 = $this->params->get ("xml_text_menu_8");
$text_menu_9 = $this->params->get ("xml_text_menu_9");
$text_menu_10 = $this->params->get ("xml_text_menu_10");
....
вот эти то вот записи в params.ini - "на главную", "о компании" и т.д. - я бы и хотел, чтобы менялись зависимо от языка.
Первым путем, похоже, пойти не получается - params.ini вроде как второй так просто не подключается, как я подключил css...
Ну вот может вторым путем это можно будет сделать?
NEW 16.02.11 14:28
Ну а в принципе, как тут сказали, делаешь к примру папки [de-DE] и [ru-RU] и ложишь туда файлы с одинаковым нзаванием. myfile.erw
Определяешь из какой папки надо тащить фаил пpимерно так
Определяешь из какой папки надо тащить фаил пpимерно так
function tempCSS(){
//// на выходе пулучишь или de-DE или ru-RU
$config=&JFactory::getConfig();
$lang=$config->getValue('language');
return $lang
}
Путь к необходимому фаилу
src="temlate/ bla bla bla/<?php echo tempCSS()?>/myfile.erw