U.Helper

20 Декабря 2008 17:29
Главная » 2008 » Декабрь » 20 » Иконки темы
1. Подключаем jQuery
2. В CSS
Code
.thDescr,
.threadDescr {display:none}
#frM30 img {opacity:.33; -moz-opacity: 0.33; filter: alpha(opacity=33);}  
#frM30 img:hover {opacity:.5; -moz-opacity: 0.5; filter: alpha(opacity=50);}  
#frM30 img.selectedImg {opacity:1; ; -moz-opacity: 1; filter: alpha(opacity=100);}
Стили можно изменить на свой вкус
3. Вставляем в "Общий вид страниц форума" после $BODY$
Code
<script type="text/javascript">$('.thDescr').each(function(){
  var s = $(this).html().match( /sml\[(\w+)\]/ );
  $(this).show();
  if (s==null) return;
  var name = s[1];
  s = s[0];
  $(this).html( $(this).html().replace(s,'') );
  if( $(this).html()=='()' ) $(this).html('');
  if( $('table.gTable:first td.gTableTop div.gTopCornerRight + img').size()==0 ) $('table.gTable:first td.gTableTop div.gTopCornerRight').after('<img src="/images/threadIcons/'+name+'.png" /> ');
})
$('.threadDescr').each(function(){
  var s = $(this).html().match( /sml\[(\w+)\]/ );
  $(this).show();
  if (s==null) return;
  var name = s[1];
  s = s[0];
  $(this).html( $(this).html().replace(s,'') );
  $(this).parent().prev().find('img').attr('src','/images/threadIcons/'+name+'.png');
});
</script>
Свои иконки заливаем в папку images/threadIcons. Имена картинок должны состоять только из букв, цифр и знака нижнего подчеркивания
4. Открываем шаблон формы добавления сообщения. Заменяем $_THREAD_DESCR$ на
Code
<input type="text" id="threadAbout" value="" class="postDescrFl" size="60" maxlength="50" />
<img src="http://s3.ucoz.net/img/fr/ic1/thread.gif" alt="" class="selectedImg" />
<img src="/images/threadIcons/картинка1.png" alt="картинка1" />
...
<img src="/images/threadIcons/картинкаN.png" alt="картинкаN" />
<div style="display:none">$_THREAD_DESCR$</div>
Где http://s3.ucoz.net/img/fr/ic1/thread.gif - адрес стандартной картинки (при выборе этой картинки, никаких замен происходить не будет)
В конец шаблона вставляем
Code
<?if($_THREAD_NAME$)?>
$('#frF3').css('width','auto').attr('size', 60);
$('#frM30 img').click(function(){
  $('#frM30 .selectedImg').removeClass('selectedImg');
  $(this).addClass('selectedImg')
});
if( $('#frF4').val()!='' ){
  if( $('#frF4').val().match( /sml\[\w+\]/ ) ){
  $('#threadAbout').val( $('#frF4').val().replace( $('#frF4').val().match( /sml\[(\w+)\]/ )[0], '' ) );
  $('#frM30 .selectedImg').removeClass('selectedImg');
  $('#frM30 img[src$="'+ $('#frF4').val().match( /sml\[(\w+)\]/ )[1] +'.png"]').addClass('selectedImg');
  } else $('#threadAbout').val( $('#frF4').val() );
}
function checksubmit(){
  var s = $('#frM30 .selectedImg').attr('src').match( /\/(\w*)\.png/i );
  if( s!=null ) s = 'sml['+s[1]+']'; else s='';
  $('#frF4').val( s + $('#threadAbout').val() );
  return true;
}<?endif?>
Просмотров: 1447 | Добавил: Бармалей | Рейтинг: 4.0/4 |
Всего комментариев: 46
0
subONE[Материал] 19:18, 20 Декабря 2008
круто спасибо smile
Цитировать
Сайт
0
Severus[Материал] 21:10, 20 Декабря 2008
Кул smile
Цитировать
Сайт
0
CoolFENIX[Материал] 05:32, 21 Декабря 2008
Code
if( $('#frF3').val().search(/помогите/i)!=-1 ){  
$('#frF3').next('.gTableError').html('Никаких "Помогите"! Называем темы правильно!');  

Это ведь не имеет отношение к этому решению?
Цитировать
Сайт
0
Бармалей[Материал] 09:18, 21 Декабря 2008
Quote (CoolFENIX)
Это ведь не имеет отношение к этому решению?
точно smile забыл удалить
Цитировать
Сайт
0
Maxwell[Материал] 15:46, 21 Декабря 2008
чет хреного работает(собсна как всегда)
Цитировать
Сайт
0
Maxwell[Материал] 15:46, 21 Декабря 2008
в смысле как всегда у меня
Цитировать
Сайт
0
Бармалей[Материал] 18:17, 21 Декабря 2008
Что именно хреново работает?
Цитировать
Сайт
0
subONE[Материал] 02:34, 22 Декабря 2008
данет все хорошо работает, а в информерах последних тем форума интересно можно тоже добавить иконки??
Цитировать
Сайт
0
Selker[Материал] 04:24, 22 Декабря 2008
а куда именно нужно вставлять вот это в шаблоне Общего вида страниц форума?
Code
<script type="text/javascript">$('.thDescr').each(function(){  
  var s = $(this).html().match( /sml\[(\w+)\]/ );  
  $(this).show();  
  if (s==null) return;  
  s = s[0];  
  $(this).html( $(this).html().replace(s,'') );  
  if( $(this).html()=='()' ) $(this).html('');  
  })  
  $('.threadDescr').each(function(){  
  var s = $(this).html().match( /sml\[(\w+)\]/ );  
  $(this).show();  
  if (s==null) return;  
  var name = s[1];  
  s = s[0];  
  $(this).html( $(this).html().replace(s,'') );  
  $(this).parent().prev().find('img').attr('src','/images/threadIcons/'+name+'.png');  
  });</script>
Цитировать
Сайт
0
cucYa[Материал] 17:37, 22 Декабря 2008
Quote (Selker)
а куда именно нужно вставлять вот это в шаблоне Общего вида страниц форума?

А там что, не по русски написано? После $body$.
Цитировать
Сайт
0
Selker[Материал] 01:15, 23 Декабря 2008
Quote (cucYa)
А там что, не по русски написано? После $body$.

там не написано wink
Цитировать
Сайт
0
CoolFENIX[Материал] 23:10, 23 Декабря 2008
Отказываются иконки работать с моими хинтами (http://www.hl2dm-university.ru/hint.js) sad
Не подскажите ли подобных хинтов работающих при этом скрипте? Буду благодарен smile
Цитировать
Сайт
0
AllCity[Материал] 16:53, 24 Декабря 2008
to FENIX wink
Цитировать
Сайт
0
Бармалей[Материал] 18:37, 24 Декабря 2008
поправил, теперь от alt'ов вообще не зависит
Цитировать
Сайт
0
CoolFENIX[Материал] 20:41, 24 Декабря 2008
гыгы опять с 'Никаких "Помогите"! Называем темы правильно!' smile

А как сделать, чтобы иконка отображалась в топике слева от названия, как тут?

Цитировать
Сайт
0
Бармалей[Материал] 12:38, 25 Декабря 2008
Quote (CoolFENIX)
гыгы опять с 'Никаких "Помогите"! Называем темы правильно!
biggrin
Немного поправил + иконка в самой теме
Цитировать
Сайт
0
CoolFENIX[Материал] 13:04, 25 Декабря 2008
Перед иконкой в самой теме ()любой пишет неправильный путь
http://сайт/images/threadIcons/ .png
Цитировать
Сайт
0
†@InternetSoft@†[Материал] 14:01, 25 Декабря 2008
пишы без сайта /images/threadIcons
Цитировать
Сайт
0
Servantus[Материал] 17:15, 25 Декабря 2008
есть вопрос-нахрен?
Есть функция указать путь до папки с иконками))
Цитировать
Сайт
0
CoolFENIX[Материал] 18:12, 25 Декабря 2008
Александр, указано без сайта, я глупый по твоему...
Цитировать
Сайт
0
CoolFENIX[Материал] 18:16, 25 Декабря 2008
Кстати помощь уже не нужна, исправил
Цитировать
Сайт
0
CoolFENIX[Материал] 08:03, 28 Декабря 2008
Кстати было бы удобнее если бы иконки выбирались из выпадающего списка (select-option)
Цитировать
Сайт
0
Yo[Материал] 13:45, 28 Декабря 2008
На всех май сайтах не работает Т_Т всё перепроверил них....
Цитировать
Сайт
0
Fluder[Материал] 15:37, 28 Декабря 2008
У меня в лисе не работает этот скрипт...
чёт вообще не получается. И на этом сайте у меня не работает... я пытаюсь нажать на иконку, а он не нажимает. sad
Цитировать
Сайт
0
Fluder[Материал] 15:58, 28 Декабря 2008
И в хроме не работает ни у меня на сайте не здесь.. что случилось?
Цитировать
Сайт
0
CoolFENIX[Материал] 19:06, 28 Декабря 2008
Где то в последнем коде ошибка, я поставил этот:
Code
<?if($_THREAD_NAME$)?><script type="text/javascript">
// By U.Helper ~ http://helper.ucoz.ru/
$('#frM30 img').click(function(){
$('#frM30 .selectedImg').removeClass('selectedImg');
$(this).addClass('selectedImg')
});
if( $('#frF4').val()!='' ){
if( $('#frF4').val().match( /sml\[\w+\]/ ) ){
$('#threadAbout').val( $('#frF4').val().replace( $('#frF4').val().match( /sml\[(\w+)\]/ )[0], '' ) );
$('#frM30 .selectedImg').removeClass('selectedImg');
$('#frM30 img[alt="'+ $('#frF4').val().match( /sml\[(\w+)\]/ )[1] +'"]').addClass('selectedImg');
} else $('#threadAbout').val( $('#frF4').val() );
}
function checksubmit(){
var s = $('#frM30 .selectedImg').attr('src').match( /\/(\w*)\.png/i );
if( s!=null ) s = 'sml['+s[1]+']';
$('#frF4').val( s + $('#threadAbout').val() );
return true;
}
</script><?endif?>

Так вот заработало. Только порой выскакивает (null) в описаний сообщения при редактирвований =|

Цитировать
Сайт
0
Fluder[Материал] 20:02, 28 Декабря 2008
и вправду заработало)))
Я надеюсь добрые хелперовцы подправят код)))
Цитировать
Сайт
0
CoolFENIX[Материал] 21:17, 28 Декабря 2008
Ага, и чтобы null не выскакивал =/
Цитировать
Сайт
0
Fluder[Материал] 11:29, 29 Декабря 2008
а обязательно заливать картинки в images/threadIcons , просто у меня все работает, я выбираю, а где должно оно отображаться, т.е на странице списка тем ничего не изменилось. Код точно на 100% рабочий?
Цитировать
Сайт
0
Бармалей[Материал] 20:08, 29 Декабря 2008
Quote (CoolFENIX)
Кстати было бы удобнее если бы иконки выбирались из выпадающего списка (select-option)
в стандартном select'е нельзя использовать хтмл-теги
Цитировать
Сайт
0
CoolFENIX[Материал] 01:35, 30 Декабря 2008
Исправьте скрипт плз, в таком варианте после последнего редактирования он не работает, иконку не выбрать =|
Где то в последнем коде ошибка...
Цитировать
Сайт
0
CoolFENIX[Материал] 01:53, 30 Декабря 2008
Ах да, один нюанс, в опере работает... в фоксе нет
Цитировать
Сайт
0
Бармалей[Материал] 11:01, 30 Декабря 2008
Поправил. Проверяйте
Цитировать
Сайт
0
Fluder[Материал] 11:19, 30 Декабря 2008
Не работает... всё сделал как там, только у меня картинки в другой папке. Всё равно не нажимается... проверил в лисе и в хроме.. не работает.
Цитировать
Сайт
0
Fluder[Материал] 11:23, 30 Декабря 2008
в опере тоже не работает.
Цитировать
Сайт
0
Fluder[Материал] 11:32, 30 Декабря 2008
НА странице создания новой темы после кнопки сздать тему появилось вот это... я думаю там есть ошибочка)))
Code
$('#frF3').css('width','auto').attr('size', 60); $('#frM30 img').click(function(){ $('#frM30 .selectedImg').removeClass('selectedImg'); $(this).addClass('selectedImg') }); if( $('#frF4').val()!='' ){ if( $('#frF4').val().match( /sml\[\w+\]/ ) ){ $('#threadAbout').val( $('#frF4').val().replace( $('#frF4').val().match( /sml\[(\w+)\]/ )[0], '' ) ); $('#frM30 .selectedImg').removeClass('selectedImg'); $('#frM30 img[src$="'+ $('#frF4').val().match( /sml\[(\w+)\]/ )[1] +'.png"]').addClass('selectedImg'); } else $('#threadAbout').val( $('#frF4').val() ); } function checksubmit(){ var s = $('#frM30 .selectedImg').attr('src').match( /\/(\w*)\.png/i ); if( s!=null ) s = 'sml['+s[1]+']'; else s=''; $('#frF4').val( s + $('#threadAbout').val() ); return true; }
Цитировать
Сайт
0
CoolFENIX[Материал] 13:07, 30 Декабря 2008
Евгений, в <script> заверни скрипт последний..
Цитировать
Сайт
0
CoolFENIX[Материал] 13:10, 30 Декабря 2008
Всё отлично, всё работает
Цитировать
Сайт
0
Fluder[Материал] 14:36, 30 Декабря 2008
в списке тем всё равно ничего не поменялось...
Если у тебя всё получилось то вышли мне свой правильный код с объяснием пожалуста.
У меня теперь всё нажимается и всё работает... только вот иконка которую я ставлю не меняется.
Цитировать
Сайт
0
Fluder[Материал] 14:37, 30 Декабря 2008
ещё раз задам вопрос - а обязательно заливать картинки сюда - images/threadIcons ????
Цитировать
Сайт
0
Бармалей[Материал] 16:39, 30 Декабря 2008
не обязательно, если вы изменили скрипт. Если не изменяли, то обязательно
Цитировать
Сайт
0
Vanofuture[Материал] 14:33, 02 Января 2009
Надо-бы подправить рег. выражение так как знак - не попадает под него(\w), но часто встречается в именах файлов, пример: chupacabra-16x16.png
Ну или хотя бы сказать об этом юзерам. smile
Цитировать
Сайт
0
Fluder[Материал] 08:00, 11 Января 2009
А иконки обязательно должны быть 16 на 16... просто у меня 28 на 28 и они не отображаются почему-то....
Цитировать
Сайт
0
Fluder[Материал] 08:11, 11 Января 2009
всё разобрался... сори
Цитировать
Сайт
0
mreobox[Материал] 17:16, 24 Февраля 2012
Предоставляем поддержку при оформлении автомобилей для организаций и физических лиц в ГАИ и МРЭО. Ассортимент наших услуг включает: регистрацию любых транспортных средств, снятие с учета транспортных средств, регистрация автохозяйства, прохождение государственного технического осмотра, получение именных номеров. Более детально Вы можете узнать на нашем сайте http://www.mreo.net.ua/. Приглашаем к сотрудничеству всех, кто заинтересован получать стабильный доход, продвигая услуги компании и привлекая новых клиентов.
Цитировать
E-MailСайт
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
U.Helper © Используются технологии uCoz