• Страница 1 из 1
  • 1
Выбор цвета темы на форуме
avatar
Админ | Оффлайн
Код
<script>
<?if($PAGE_ID$='forum' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
$('.threadLink' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .each(function () {
str = $(this).text();
exp = /^\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|8b00ff|8b00ff)\](.*?)\[\/color\]$/;
if (exp.test(str)) {
matches = exp.exec(str);
$(this).css('color', matches[1]).text(matches[2]);
}
} <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
<?else?>
<?if($PAGE_ID$='threadpage' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
exp = /\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|8b00ff|8b00ff)\](.*?)\[\/color\]/g;
str = $('.forumContent' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html();
if (exp.test(str)) {
$('.forumContent' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html(str.replace(exp, '$2' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> );
}
<?else?>
<?if($PAGE_ID$='addthread' || $PAGE_ID$='addpoll' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
$('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .css({
'width': '88%',
'border-right': '0px'
} <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .after('<select id="color"><option selected disabled value="none"> Выберите цвет </option><option value="ff0000">Красный</option><option value="ffa500">Оранжевый</option><option value="ffff00">Желтый</option><option value="00ff00">Зелёный</option><option value="42aaff">Голубой</option><option value="0000ff">Синий</option><option value="8b00ff">Фиолетовый</option></select>' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
$('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .hide().after('<input type="button" value="Создать тему" class="postSubmit" style="width:150px;font-weight:bold;" id="post">' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
$('#post' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .live('click', function () {
c = $('#color' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();
if (c != 'none' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> {
d = $('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();
$('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val('[color=' + c + ']' + d + '' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
}
$('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .click();
} <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
<?endif?>
<?endif?>
<?endif?>
</script>


[Сообщение # 1]  
avatar
Посетитель | Оффлайн
Скрипт позволяет при создании темы или опроса на форуме выбрать цвет, которым будет отображаться название темы в общем списке. Подобрал, как мне кажется, лучшее место для селекта с выбором цвета, лучше и быть не может.

Установка:
В общий вид страниц форума, после $BODY$:

Код
<?if($PAGE_ID$='forum' || $PAGE_ID$='recentthreads' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
<script>
$('.threadLink' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .each(function () {
str = $(this).text();
exp = /^\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|0000ff|8b00ff)\](.*?)\[\/color\]$/;
if (exp.test(str)) {
matches = exp.exec(str);
$(this).html('<span style="color:#'+matches[1]+'">'+matches[2]+'</span>' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
}
});
</script>
<?endif?>

<?if($PAGE_ID$='threadpage' || $PAGE_ID$='postedit' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
<script>
exp = /^\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|0000ff|8b00ff)\](.*?)\[\/color\]$/;
str = $('.forumBarA' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html();
if (exp.test(str)) {
matches = exp.exec(str);
$('.forumBarA' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html('<span style="color:#'+matches[1]+'">'+matches[2]+'</span>' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
}
</script>
<?endif?>

<?if($PAGE_ID$='postedit' || $PAGE_ID$='addthread' || $PAGE_ID$='addpoll' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>
<script>
$('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .css({'width': '87%','border-right': '0px'}).after('<select id="color"><option selected disabled value="none"> Выберите цвет </option><option value="ff0000">Красный</option><option value="ffa500">Оранжевый</option><option value="ffff00">Желтый</option><option value="00ff00">Зелёный</option><option value="42aaff">Голубой</option><option value="0000ff">Синий</option><option value="8b00ff">Фиолетовый</option></select>' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
$('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .hide().after('<input type="button" value="Создать тему" class="postSubmit" style="width:150px;font-weight:bold;" id="post">' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
$('#post' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .live('click', function () {
c = $('#color' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();
if (c != 'none' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> {
d = $('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();
$('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val('[color=' + c + ']' + d + '[/color]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;
}
$('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .click();
});
</script>
<?endif?>


Сообщение отредактировал HDD - Вторник, 11.10.2016, 18:56:55
[Сообщение # 2]  
avatar
Местный | Оффлайн
В идеале при добавлении селект должен выглядеть так: 
Свёрнутый - http://clip2net.com/clip/m96408/1316245702-2be1f-26kb.png 
Развёрнутый - http://clip2net.com/clip/m96408/1316245702-f2691-28kb.png 
Если не так то: 
1. Пробуем играться со значением 'width': '87%' (в коде ниже), ставим больше\меньше. 
2. Пробуем убрать\добавить в строчке Выберите цвет (в коде ниже) 
UPD: Добавил синий цвет, т.к он не работал, теперь работает в ленточном варианте форума, теперь при редактировании темы тоже можно выбирать цвет. 

Установка: 
В общий вид страниц форума, после $BODY$: 

Код
<?if($PAGE_ID$='forum' || $PAGE_ID$='recentthreads' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>   
    <script>   
    $('.threadLink' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .each(function () {   
      str = $(this).text();   
      exp = /^\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|0000ff|8b00ff)\](.*?)\[\/color\]$/;   
      if (exp.test(str)) {   
      matches = exp.exec(str);   
      $(this).css('color', matches[1]).text(matches[2]);   
      }   
    });   
    </script>   
    <?endif?>   
    <?if($PAGE_ID$='threadpage' || $PAGE_ID$='postedit' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>   
    <script>   
    exp = /\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|0000ff|8b00ff)\](.*?)\[\/color\]/g;   
    str = $('.forumContent' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html();   
    if (exp.test(str)) {   
      $('.forumContent' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .html(str.replace(exp, '$2' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> );   
    }   
    </script>   
    <?endif?>   
    <?if($PAGE_ID$='postedit' || $PAGE_ID$='addthread' || $PAGE_ID$='addpoll' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>   
    <script>   
    $('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .css({   
      'width': '87%',   
      'border-right': '0px'   
    }).after('<select id="color"><option selected disabled value="none"> Выберите цвет </option><option value="ff0000">Красный</option><option value="ffa500">Оранжевый</option><option value="ffff00">Желтый</option><option value="00ff00">Зелёный</option><option value="42aaff">Голубой</option><option value="0000ff">Синий</option><option value="8b00ff">Фиолетовый</option></select>' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;   
    $('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .hide().after('<input type="button" value="Создать тему" class="postSubmit" style="width:150px;font-weight:bold;" id="post">' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;   
    $('#post' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .live('click', function () {   
      c = $('#color' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();   
      if (c != 'none' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> {   
      d = $('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val();   
      $('input[name="name"]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .val('[color=' + c + ']' + d + '[/color]' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ;   
      }   
      $('#frF16' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .click();   
    });   
    </script>   
    <?endif?>


Кто хочет что-бы могли менять цвет тока Админы и модеры вот...
замените:
Код
<?if($PAGE_ID$='postedit' || $PAGE_ID$='addthread' || $PAGE_ID$='addpoll' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> ?>

на
Код
<?if(($PAGE_ID$='postedit' || $PAGE_ID$='addthread' || $PAGE_ID$='addpoll' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> && ($USER_GROUP$ == 'Администраторы' || $USER_GROUP$ == 'Модераторы' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> )?>


Если такое случилось - http://savepic.ru/3163615.png
Нужно сделать:
Код
$BODY$
замените на
Код
<div id="bd">$BODY$</div>

Код
$('.forumContent' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" /> .eq('0' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" />
замените на
Код
$('#bd' <img src="/.s/sm/2/wink.gif" border="0" align="absmiddle" alt="wink" />
(в коде встречается два раза)
[Сообщение # 3]  
avatar
Админ | Оффлайн
Честно говоря на данный момент работает только 2 вариант скрипта, тот что выложил HDD и то с проблемами.
Вообще данный скрипт влияет на работу форума не самым лучшим образом, проблемы с редактированием сообщений и не только. Поэтому ставте на свой страх и риск, я не рекомендую в таком виде.


[Сообщение # 4]  
  • Страница 1 из 1
  • 1
Поиск:

close