Новые сообщения · Участники · Правила форума · Поиск
Страница 1 из 212»
Модератор форума: z-17, Anarki 
Форум о uCoz и Web » Система uCoz » Скрипты для uCoz сайта » Кнопка «Like» вместо рейтинга для uCoz
Кнопка «Like» вместо рейтинга для uCoz
BaniKДата: Пятница, 06.01.2012, 01:04 | Сообщение # 1
Полковник
Сообщений: 201
Репутация: 12
Социальная репутация:

Статус: Offline

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

Установка

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

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

<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:
Code

<style type="text/css">   
   .likeplus {font-size:1pt;background:url('http://webo4ka.ru/Ucoz5/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://webo4ka.ru/Ucoz5/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>

Изображение http://webo4ka.ru/Ucoz5/58127939Like_vmesto_mne_nravitci.png можно заменить на свое.

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

<?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?>
Как установить кнопки социальных сетей?

Не поленитесь просмотреть весьма внушительный Список рабочих uCoz скриптов


ВСЕ ДЛЯ КС
 
Dragon-XДата: Среда, 25.01.2012, 20:31 | Сообщение # 2
Рядовой
Сообщений: 1
Репутация: 0
Социальная репутация:

Статус: Offline
А как сделать чтобы был и дислайк smile
 
UnShameДата: Среда, 25.01.2012, 20:59 | Сообщение # 3
Генералиссимус
Сообщений: 1869
Репутация: 173
Социальная репутация:

Статус: Offline
никак, для этого нужен второй рейтинг
Тот, кто удалит этот пост будет гореть в аду.
 
Lexa0907Дата: Пятница, 24.05.2013, 01:13 | Сообщение # 4
Рядовой
Сообщений: 6
Репутация: 0
Социальная репутация:

Статус: Offline
UnShame, а что нужно будет сменить в JS чтобы сделать понижение рейтинга?
 
RazipДата: Пятница, 24.05.2013, 09:15 | Сообщение # 5
Ленивый котэ
Сообщений: 2319
Репутация: 142
Социальная репутация:

Статус: Offline
Lexa0907, никак, особенно через JS никак.
 
Lexa0907Дата: Пятница, 24.05.2013, 11:14 | Сообщение # 6
Рядовой
Сообщений: 6
Репутация: 0
Социальная репутация:

Статус: Offline
Razip, жаль.
Есть еще вопрос, как можно сделать смену числа проголосовавших на счетчике в режиме реального времени? Тобишь что-бы при нажатии было не только сообщение в модальном окне выведено, о том что голосов: +500, Рейтинг: 4,7. а чтобы еще на счетчике ($.RATED/$) обновлялася цифра, без обновления страницы...
 
RazipДата: Пятница, 24.05.2013, 14:14 | Сообщение # 7
Ленивый котэ
Сообщений: 2319
Репутация: 142
Социальная репутация:

Статус: Offline
$.RATED/$ — в сообщениях коды не работают. smile Можно просто писать $RATED$.

Цитата
как можно сделать смену числа проголосовавших на счетчике в режиме реального времени?

Может быть скриптом? То есть скрипт тянет обновленную информацию, но в скриптах я не силен. Или у юкоза кэширование... (данные обновляются не в реальном времени, а с задержкой) вот тогда никак. А вообще такие фишки на юкозе мне кажется не сделать... даже с урезанным PHP.
 
Lexa0907Дата: Суббота, 25.05.2013, 02:16 | Сообщение # 8
Рядовой
Сообщений: 6
Репутация: 0
Социальная репутация:

Статус: Offline
Razip, я просто на сайте на одном видел, что когда нажимаешь на like, то у них появляется гифка загрузки, а потом меняется число. Значит +100500 сделано через JS
 
djemNaДата: Суббота, 25.05.2013, 13:23 | Сообщение # 9
злой пингвин
Сообщений: Скрыто
Репутация: Скрыто
Социальная репутация:

Статус: Hidden
Lexa0907, не факт! Обо "like" передается на сервер. Тоесть тут замешан тоже PHP или подобные языки. А JS просто для "эффекта".
-> Правила - тут! Читать всем!
-> Линукс - просто, красиво, юзабельно!
-> Есть вопросы? Вам сюда!

Стабильность Windows заключается в ее нестабильности. С чем я от всей души поздравляю Microsoft.
 
volfgunusДата: Суббота, 25.05.2013, 15:08 | Сообщение # 10
Eternal power
Сообщений: 3684
Репутация: 180
Социальная репутация:

Статус: Offline
посмотреть API просто надо
 
Lexa0907Дата: Суббота, 01.06.2013, 01:01 | Сообщение # 11
Рядовой
Сообщений: 6
Репутация: 0
Социальная репутация:

Статус: Offline
volfgunus, volfgunus, и как API подключить ко всему этому?
 
RazipДата: Суббота, 01.06.2013, 08:57 | Сообщение # 12
Ленивый котэ
Сообщений: 2319
Репутация: 142
Социальная репутация:

Статус: Offline
Цитата (volfgunus)
посмотреть

не есть
Цитата (Lexa0907)
подключить

Вообще такую штуку на юкозе сделать по моему без урезанного PHP нельзя.
 
volfgunusДата: Суббота, 01.06.2013, 13:23 | Сообщение # 13
Eternal power
Сообщений: 3684
Репутация: 180
Социальная репутация:

Статус: Offline
На самом деле, сначала нужно подключить в общих настройках, а потом смотреть.

Добавлено (01.06.2013, 13:23)
---------------------------------------------
вообще можно

 
RazipДата: Суббота, 01.06.2013, 14:45 | Сообщение # 14
Ленивый котэ
Сообщений: 2319
Репутация: 142
Социальная репутация:

Статус: Offline
Ну мб.
 
volfgunusДата: Воскресенье, 02.06.2013, 15:16 | Сообщение # 15
Eternal power
Сообщений: 3684
Репутация: 180
Социальная репутация:

Статус: Offline
А что вообще нужно сделать? Чтоб всё время обновлялось или по клику?
 
Форум о uCoz и Web » Система uCoz » Скрипты для uCoz сайта » Кнопка «Like» вместо рейтинга для uCoz
Страница 1 из 212»
Поиск: