• Страница 1 из 1
  • 1
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » pssergey [4]
Результаты поиска
Дата: Среда, 16.10.2013, 18:23 | Сообщение #1 | Тема: Изменение репутации на форуме
pssergey
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


Пост выше мой.

 
Дата: Среда, 16.10.2013, 21:06 | Сообщение #2 | Тема: Изменение репутации на форуме
pssergey
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz
- у вас функция не та прописана


Спасибо большое!
Прописал функцию, как показано... но не работает. То есть работает но всё по прежнему. Так же обычное окно репутации открывается, оно и так работало...
Может я не так вставляю, как-то?
Сейчас вот это вставляю в вид материалов (скрипт и кнопку после: $USER_DETAILS_ICON_BAR$)
Цитата
<script type="text/javascript">
function checkajax$ID$(){
forms=document.getElementsByTagName('form');
for(f=0;f<forms.length;f++){
if(forms[f].id=='frm981'){
if(repval=='minus'){document.getElementById('a1').checked='true';
clearInterval(ajaxtime);}
else{document.getElementById('a2').checked='true';
clearInterval(ajaxtime);}}}}
</script>
<?if($DO_REP_URL$)?><a href="$DO_REP_URL$"><img onclick="checkajax$ID$();" height="22" title="Поблагодарить за сообщение" src="ссылка на картинку" border="0" /></a> <?endif?>


 
Дата: Среда, 16.10.2013, 22:40 | Сообщение #3 | Тема: Изменение репутации на форуме
pssergey
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Ср, 16.10.2013, 21:34:18
вообще-то этот скрипт просто ставит галочку на пункте «повысить репутацию» и все.. ничего он не заменяет и тем более внешний вид окна.

Спасибо!
- это понятно, но и галочка не ставилась...
В общем, по примерам в сети вставил ещё вот такое в "общий вид страниц форума"
Цитата
<script type="text/javascript">
function repchange(val,id){
repval=val;
ajaxtime=setInterval('checkajax'+id+'()',500);}
</script>

и заменил в "кнопке" checkajax$ID$(); - на - repchange('plus','$ID$')();
и заработало всё.

Добавлено (16.10.2013, 22:40)
---------------------------------------------
Но тот, "автоматический" скрипт тоже интересный.
Не нравится в нём:
1. Ссылка прописыватся не на пост, а на страницу.
В идеале, для меня, было бы не плохо переделать скрипт:
1. Ссылку убрать совсем, как не нужную т.к. и так в истории есть ссылка "источник". - пока не понимаю, как туда ссылка попадает.
2. А нельзя сразу команду дать на обновление страницы?

Цитата
<script type="text/javascript">
function checkajax$ID$(){
forms=document.getElementsByTagName('form');
for(f=0;f<forms.length;f++){
if(forms[f].id=='frm981'){
if(repval=='minus'){document.getElementById('a1').checked='true';
forms[f].reason.value='Плохой пост:'+window.location.href;
document.getElementById('submfrm981').click();
document.getElementById('sbt981').onclick=null;
clearInterval(ajaxtime);}// by Vanofuture
else{document.getElementById('a2').checked='true';
forms[f].reason.value='Хороший пост:'+window.location.href;
document.getElementById('submfrm981').click();
document.getElementById('sbt981').onclick=null;
clearInterval(ajaxtime);}}}}
</script>


Сообщение отредактировал pssergey - Среда, 16.10.2013, 22:42
 
Дата: Воскресенье, 20.10.2013, 23:14 | Сообщение #4 | Тема: Изменение репутации на форуме
pssergey
Рядовой
Группа: Зарегистрированные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Ср, 16.10.2013, 22:51:40
можно на событие субмит повесить релоад.


likbezz, Спасибо большущее!
Пошёл убирать... и вешать релоад...

Добавлено (17.10.2013, 00:45)
---------------------------------------------
likbezz, СПАСИБО, за подсказки.
Ура! Получилось.
Посмотреть, опробовать можно тут http://volkodav-vluki.ucoz.ru/forum/2-15-1 К сожалению, гости кнопку "Спасибо" не видят.
Выглядит вот так:

В итоге:
1. Имеем кнопку "Спасибо" работающую действительно в ОДИН клик... жмём кнопку, появляется окошко репутации на мгновение и страница обновляется с +1 в репутацию.
Просто таким образом благодарим собеседника или присоединяемся к его мнению без лишних телодвижений - удобно это.
2. Репутацию так же можно изменять стандартным способом - это если хочется понаписать стихов, хозяин - барин...

Сложу по порядку действия, может поможет кому-то:
управление дизайном модуля/ общий вид страниц форума, после <head> вставляем вот это:
Код
<script type="text/javascript">   
function repchange(val,id){   
repval=val;   
ajaxtime=setInterval('checkajax'+id+'()',500);}   
</script>

В вид материалов после $USER_DETAILS_ICON_BAR$ вставляем:
Код

<script type="text/javascript">   
function checkajax$ID$(){   
forms=document.getElementsByTagName('form');   
for(f=0;f<forms.length;f++){   
if(forms[f].id=='frm981'){   
if(repval=='minus'){document.getElementById('a1').checked='true';
document.getElementById('submfrm981').click();   
document.getElementById('sbt981').onclick=null;   
clearInterval(ajaxtime);}// by Vanofuture   
else{document.getElementById('a2').checked='true';
forms[f].reason.value='СПАСИБО'   
document.getElementById('submfrm981').click();   
document.getElementById('sbt981').onclick=location.reload();
clearInterval(ajaxtime);}}}}   
</script>

Следом за этим вставляем саму кнопку:
Код
<?if($DO_REP_URL$)?><a href="$DO_REP_URL$"><img onclick="repchange('plus','$ID$')();" height="22" title="Сказать спасибо" src="ссылка на картинку кнопки" border="0" /></a> <?endif?>

Прошу проверить по ссылке работоспособность, может глюк какой вылезет.

Добавлено (20.10.2013, 23:14)
---------------------------------------------
Цитата pssergey, Чт, 17.10.2013, 00:45:22
Прошу проверить по ссылке работоспособность, может глюк какой вылезет.

Приветствую.
В общем, вроде бы работает. Только добавил ещё задержку перед обновлением страницы, без неё не всегда обновляется с уже добавленной репутацией.
В коде, который вставляется в вид материалов вот это:
Код
location.reload();

заменил на это:
Код
setTimeout(function() {window.location.reload();}, 1200);

1200 - время в миллисекундах.
Проверял в броузерах: мозила, хром, яндекс, опера мини на простом телефоне - пока глюков не наблюдаю.
Есть недостаток. т.к. тайм-аут на повторное изменение репутации отключен, хотелось бы закрыть возможность повторного повышения репутации в конкретном сообщении...
Прошу подсказать, есть такая возможность?


Сообщение отредактировал pssergey - Воскресенье, 20.10.2013, 23:31
 
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » pssergey [4]
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия