Вот сегодня нечем было заняться, да и на форуме давно просили, да и реализация на этом сайте была, только вот персональная, т.е для каждой темы в исходнике нужно было проставлять цвет:) вот и написал данный хак. Скрипт позволяет при создании темы или опроса на форуме выбрать цвет, которым будет отображаться название темы в общем списке. Подобрал, как мне кажется, лучшее место для селекта с выбором цвета, лучше и быть не может. В идеале при добавлении селект должен выглядеть так: Свёрнутый Развёрнутый: Если не так то: 1. Пробуем играться со значением 'width': '87%' (в коде ниже), ставим больше\меньше. 2. Пробуем убрать\добавить в строчке Выберите цвет (в коде ниже) UPD: Добавил синий цвет, т.к он не работал, теперь работает в ленточном варианте форума, теперь при редактировании темы тоже можно выбирать цвет. Установка: В общий вид страниц форума, после $BODY$: Code <?if($PAGE_ID$='forum' || $PAGE_ID$='recentthreads')?> <script> $('.threadLink').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')?> <script> exp = /\[color\=(ff0000|ffa500|ffff00|00ff00|42aaff|0000ff|8b00ff)\](.*?)\[\/color\]/g; str = $('.forumContent').eq('0').html(); if (exp.test(str)) { $('.forumContent').eq('0').html(str.replace(exp, '$2')); } </script> <?endif?> <?if($PAGE_ID$='postedit' || $PAGE_ID$='addthread' || $PAGE_ID$='addpoll')?> <script> $('input[name="name"]').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>'); $('#frF16').hide().after('<input type="button" value="Создать тему" class="postSubmit" style="width:150px;font-weight:bold;" id="post">'); $('#post').live('click', function () { c = $('#color').val(); if (c != 'none') { d = $('input[name="name"]').val(); $('input[name="name"]').val('[color=' + c + ']' + d + '[/color]'); } $('#frF16').click(); }); </script> <?endif?>
Полезный материал ? Посетите сайт автора: http://uSite.su
|