Помощник
Здравствуйте, гость ( Вход | Регистрация )
Обсуждение Eleanor CMS 0.9 PRE |
Alexander |
2013-01-19, 18:52
Сообщение
#601
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Ну и чем мне это должно помочь?
|
|
|
||
A1es |
2013-01-19, 19:24
Сообщение
#602
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2009-04-19 Репутация: нет Всего: нет |
Вылет базы это баг платформы, а не CMS. Поэтому что вы хотите - непонятно |
|
|
||
wormen |
2013-01-20, 13:54
Сообщение
#603
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
Alexander, подскажи, какой файл нужно отредактировать, чтобы рядом с надписью локализации отображался соответствующий флаг.
Сообщение отредактировал wormen - 2013-01-21, 4:01 |
|
|
||
Alexander |
2013-01-20, 14:06
Сообщение
#604
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
wormen, в templates/Uniel/index.php
|
|
|
||
wormen |
2013-01-22, 15:18
Сообщение
#605
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
<br /><br />
участок кода нашел... <div class="language"> <?php if(Eleanor::$vars['multilang']) { $langs=Eleanor::$langs; unset($langs[Language::$main]); foreach($langs as $k=>$v) echo'<a href="',Eleanor::$filename,'?language=',$k,'" title="',$v['name'],'"><b>',substr($k,0,3),'</b></a>'; } ?> </div> но как прикрепить картинку, чтобы она менялась вместе с языком таки не разобрался..... |
|
|
||
Alexander |
2013-01-22, 18:13
Сообщение
#606
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Вместо <b>',substr($k,0,3),'</b> впишите код картинки... |
|
|
||
wormen |
2013-01-23, 3:57
Сообщение
#607
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
Alexander, если я тебя правильно понял, ты предлагаешь использовать картинки вместо текста, но мне нужен и текст и картинки |
|
|
||
Alexander |
2013-01-23, 16:26
Сообщение
#608
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
wormen, когда на фоне картинки написан текст?
|
|
|
||
wormen |
2013-01-24, 3:25
Сообщение
#609
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
верно.....чтобы было так......флаг+текст rus/eng Сообщение отредактировал wormen - 2013-01-24, 4:38 |
|
|
||
Alexander |
2013-01-24, 11:00
Сообщение
#610
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
wormen, в верстке я плохо понимаю: дайте код, который хотите получить на выходе - я вам покажу, как добиться такого результата.
|
|
|
||
wormen |
2013-01-24, 12:01
Сообщение
#611
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
исходная часть кода для вывода текста локализации
<div class="language"> <?php if(Eleanor::$vars['multilang']) { $langs=Eleanor::$langs; unset($langs[Language::$main]); foreach($langs as $k=>$v) echo'<a href="',Eleanor::$filename,'?language=',$k,'" title="',$v['name'],'"><b>',substr($k,0,3),'</b></a>'; } ?> </div> эта часть <b>',substr($k,0,3),'</b> кода я так понял выводит непосредственно сам текст, на мой взгляд в итоге должен получиться примерно следующий код <div class="language"> <?php if(Eleanor::$vars['multilang']) { $langs=Eleanor::$langs; unset($langs[Language::$main]); foreach($langs as $k=>$v) echo'<a href="',Eleanor::$filename,'?language=',$k,'" title="',$v['name'],'"><div class="flag"></div><b>',substr($k,0,3),'</b></a>'; } ?> </div> <div class="flag"></div> часть кода куда будет подгружаться картинка флага это можно сделать с помощью jquery, но я просто не понял откуда подгружается текст в этот участок кода <b>',substr($k,0,3),'</b> и к тому же в этом участке кода нету никаких идентификаторов чтобы зацепить скрипт......уже даже мысля пришла в голову, чтобы менять картинку в зависимости какой текст в теге....... выше я описал как это вижу, было бы еще неплохо, если бы ты поподробнее описал эту часть кода <div class="language"> <?php if(Eleanor::$vars['multilang']) { $langs=Eleanor::$langs; unset($langs[Language::$main]); foreach($langs as $k=>$v) echo'<a href="',Eleanor::$filename,'?language=',$k,'" title="',$v['name'],'"><b>',substr($k,0,3),'</b></a>'; } ?> </div> что откуда подгружается.....а jquery скрипт я уже сам напишу |
|
|
||
Alexander |
2013-01-24, 21:52
Сообщение
#612
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Строка substr($k,0,3) выводит "rus", "eng" т.е. первые три буквы языка. Таким образом можно вставить и уникальный идентификатор.
|
|
|
||
wormen |
2013-01-25, 7:26
Сообщение
#613
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
не стал я сильно разбираться что откуда подгружается, и написал свой мини плагин для отображения картинки рядом с текстом локализации, сначала я подкоректировал исходную часть кода: <div class="language"> <?php if(Eleanor::$vars['multilang']) { $langs=Eleanor::$langs; unset($langs[Language::$main]); foreach($langs as $k=>$v) echo'<div class="flag"></div><a href="',Eleanor::$filename,'?language=',$k,'" title="',$v['name'],'"><b id="localize">',substr($k,0,3),'</b></a>'; } ?> </div> В теме в файле index.php дописываем строку <script type="text/javascript" src="<?php echo$theme?>js/init.js"></script> в папке /templates/Uniel/js/ создал файл init.js в него прописал содержимое: $(function flags() { //позиционирование блока <div class="flag"></div> и создание размера $( ".flag" ).css({ 'position': 'relative', 'top': '-6px', 'float': 'left', 'width': '47px', 'height': '32px' }) //сканируем тег <b id="localize"></b> на наличие текста if ($("b#localize").text() == "rus") { $( ".flag" ).css({'background': 'url(/templates/Uniel/images/rus.png)'}) } //если текст rus if ($("b#localize").text() == "eng") { $( ".flag" ).css({'background': 'url(/templates/Uniel/images/eng.png)'}) } //если текст eng }); для украинской локализации не делал, не было необходимости, скрипт меняется легко, кому нужно допишите картинки флагов прилагаю |
|
|
||
wormen |
2013-01-25, 7:51
Сообщение
#614
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
я тут немного затупил....
Alexander, перенеси мой последний пост в эту тему ....и плагин добавь в стандартную комплектацию CMS, наверняка эти функции еще не раз пригодятся.... |
|
|
||
wormen |
2013-01-25, 10:58
Сообщение
#615
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
в CMS есть свои картинки с флагами, то пути будут такими
if ($("b#localize").text() == "rus") { $( ".flag" ).css({'background': 'url(/images/lang_flags/rus.png)'}) } //если текст rus
if ($("b#localize").text() == "eng") { $( ".flag" ).css({'background': 'url(/images/lang_flags/eng.png)'}) } //если текст eng |
|
|
||
Alexander |
2013-01-26, 0:21
Сообщение
#616
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
wormen, к сожалению переносить посты сейчас невозможно
Пару комментариев.
Во-впервых это создает невалидный код. Потому что идентификаторы элементов должны быть уникальными. Во-вторых, я же писал, что строка substr($k,0,3) возвращает 3 первых буквы языка... Таким образом, ваш JS можно удалить, а вместо вышенаписанного (в моеём посте) кода, нужно написать примерно следующее:
Вот так. |
|
|
||
wormen |
2013-01-26, 3:23
Сообщение
#617
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
ну ты в принципе сделал тоже самое, только средствами PHP...
|
|
|
||
Alexander |
2013-01-26, 3:33
Сообщение
#618
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
wormen, просто обратите внимание, что совершенно не обязательно усложнять настолько себе жизнь.
|
|
|
||
wormen |
2013-01-26, 3:48
Сообщение
#619
|
|
Опытный Группа: Eleanor user Сообщений: 800 Регистрация: 2012-09-13 Репутация: нет Всего: нет |
Alexander, а в чем невалидность моего кода?
что касается идентификаторов, то это еще спорный вопрос.... if ($("b").text() == "rus") { $( ".flag" ).css({'background': 'url(/images/lang_flags/rus.png)'}) } if ($("b").text() == "eng") { $( ".flag" ).css({'background': 'url(/images/lang_flags/eng.png)'}) }
там скрипт просто сканирует наличие нужного текста в теге, и вставляет нужную картинку в div |
|
|
||
Текстовая версия | 0.0391 сек. 11 запросов GZIP включен Сейчас: 2024-05-16, 19:42 |