Кнопка «Like» вместо рейтинга для uCoz - Форум
Большой портал
Здравствуй, желанный Гость! Авторизуйся или войди, чтобы стать частью нашей дружной семьи! Вход Регистрация
  • Страница 1 из 1
  • 1
Модератор форума: Admin  
Кнопка «Like» вместо рейтинга для uCoz
NoQvestions Offline Дата: Воскресенье, 30.12.2012, 19:31 | Сообщение # 1
Освоившийся
Сообщений: 227
Награды: 1
Репутация: 1502
Замечания: 20%


Весьма интересный вариант рейтинга для uCoz. Кнопка «Like» будет отображаться вместо рейтинга звездочками на Вашем сайте uCoz. Вы можете заменить изображение с большим поднятым вверх пальцем на свое (например, на сердечко или звездочку, прицел или еще что-то в этом роде). При первом нажатии на «Like» цифра просто увеличится на счетчике, никаких всплывающих окон не появится, при повторном нажатии появится окно, в котором будет написано, что Вы уже оценивали этот материал, и число больше не увеличится.

Установка

Панель управления » Управление дизайном

Вставьте этот скрипт, например, в Нижнюю часть сайта. Главное, чтобы он был только один раз на странице:

Код
<script type="text/javascript">    
    likePlus = function (c, d, f, g) {    
    if (typeof d == 'undefined' || typeof c == 'undefined' || (c != 1 && c != -1)) return false;    
    c += 2;    
    if (!f) f = location.pathname.match(/[^\\\/]+/i) + '';    
    if (!f) return false;    
    var h = $('#rate_' + d);    
    g = $.extend({    
    'before': function (a) {    
    },    
    'after-success': function (a, b) {    
    document.getElementById('frs2' + d).innerText++    
    a.html(b).addClass(b > 0 ? 'positiveRate' : (b == 0 ? 'nullRate' : 'negativeRate'));    
    },    
    'after-error': function (a) {    
    try {eval(a)} catch (e) {}    
    }    
    }, g || {});    
    g.before(h);    
    $.post('/' + f + '/', {'a': '65', 'id': d, 'mark': c, 'mod': f, 'ajax': '2'}, function (a) {    
    a = $('cmd:first', a).text();    
    var b = a.match(/Рейтинг:\s*([\d.]+)\/(\d+)/i);    
    if (!b) return g['after-error'](a);    
    b = Math.round(b[1] * b[2]) - 2 * b[2];    
    g['after-success'](h, b)    
    })    
    }    
    function getClass(nameid, nameclass) {    
    document.getElementById(nameid).className=nameclass    
    }    
    </script>


Следующий код Вы можете вставить туда же, а можно выдернуть все стили селекторов и вставить в свой файл CSS:

Код
<style type="text/css">    
    .likeplus {font-size:1pt;background:url('http://www.4ucoz.net/ucoz/1/58127939Like_vmesto_mne_nravitci.png') top;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}    
    .likeplus_hover {font-size:1pt;background:url('http://www.4ucoz.net/ucoz/1/58127939Like_vmesto_mne_nravitci.png') bottom;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}    
    .like2 {font-size:8pt;font-weight:bold;color:#111C49;}    
    .likex {font-size:8pt;font-weight:bold;color:#223276;}    
    </style>


Вот код самой кнопки. Вставлять нужно в вид материалов нужного модуля или на страницу материала и комментариев к нему. Для каталога статей в коде ниже написано publ. Чтобы использовать код для новостей сайта, например, заменить publ на news.

Код
<?if($RATING$)?>    
    <div onclick="likePlus(1,$ID$,'publ');return false" style="cursor:pointer;height:16px;" onmouseover="getClass('hr2$ID$','likeplus_hover');getClass('frs2$ID$','like2')" onmouseout="getClass('hr2$ID$','likeplus');getClass('frs2$ID$','likex')">    
    <table cellspacing="0" cellpadding="0"><tr><td><div id="hr2$ID$" class="likeplus"> </div></td><td><div class="likex" id="frs2$ID$">$RATED$</div></td></tr></table>    
    </div>    
    <?endif?>

 
  • Страница 1 из 1
  • 1
Поиск:
Свернуть
Развернуть
Необходима авторизация
0