[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать... » Спасибо за материал. Скрипт для юкоз.

Спасибо за материал. Скрипт для юкоз.
[1] likbezz [26.08.2011, 20:44]
Скрипт выводит аякс окошко изменения репутации пользователю, со ссылкой на источник повышения, и комментарием к «плюсу».

Если кнопка не скрыта от гостей, выводи окошко с надписью «Доступ запрещён».
При попытке повысить репутацию себе, выводит такое же окошко:


...

Вот так выглядит открытое окошко повышение репутации:


...

Вот так, история повышения репутации данным скриптом:


....
Ссылка «[источник]», в истории репутации, ссылается на страницу с которой производилось повышение репутации.
...

Скрипт подключается в шаблоне «Вид материала и комментария к нему», в любом месте, либо контекстом:
Code
<script type="text/javascript">
function repDo(e,d){var u=window.location.href,a=e.title.split(': ')[1],r='Плюс за данный материал: '+a+'.';new _uWnd('Rd',' ',380,200,{fadespeed:0,fadeclosespeed:0,fadetype:0,fadeclosetype:0,popup:0,autosize:1,closeonesc:1,oncontent:function(){document.getElementB yId('frm981').reason.value=r;document.getElementById('a2').checked='true';document.getElementById('frm981').ref.value=u;}},{url:'/index/',type:'post',data:{a:'23',s:d,c:u}});return false;};
</script>
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>



либо ссылкой на скрипт:
Code
<script type="text/javascript" src="http://likbezz.ru/_source/_js/ext/_repDo.js"></script>
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>



Или, через условные комментарии, чтобы гости вообще не видели данной кнопки:
Code
<?if($USER_LOGGED_IN$)?>
<script type="text/javascript" src="http://likbezz.ru/_source/_js/ext/_repDo.js"></script>
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>          
<?endif?>


Скрипт - скачать себе, поправить ссылку.

Ссылка на материал-источник берётся из «window.location.href», название материала, для комментария к нему из «title» кнопки/ссылки вызова.

Для моделей: «Новости» и «Блог» - название материала выводится оператором $ENTRY_NAME$.
Для модулей: «Каталог статей» и прочих “каталогов” - оператором $ENTRY_TITLE$
Для FAQ: $TITLE$ ...

Следовательно, ссылка вызова окошка в модуле «Новости» будет вот такой:
Quote (HTML)
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>


В модуле «Каталог статей», вот такой:
Quote (HTML)
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_TITLE$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>

...

Скрипт можно модифицировать и под шаблон «Вид материала» - чтобы ссылка была не «window.location.href», а $ENTRY_URL$ ... то бишь, на одной странице к каждому из имеющихся материалов по одной кнопке, как в комментариях - «+За хороший коммент» .... Соответственно, необходимо будет поправить и ссылку вызова функции.

Сама кнопка может быть как просто текстом [Повысить репутацию Flesh за эту новость], так и изображением или инпутом типа «button».
Примеры:
Code
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><b>[Повысить репутацию $USER$ за эту новость]</b></a>

- Просто текст.

Code
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><input type="button" value="Повысить репутацию $USER$ за эту новость" /></a>

- Обычная кнопка.

Code
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><img src="http://likbezz.ru/_source/_ico/simbol/01/thanks_btn.gif" width="80" height="23" border="0" /></a>

- Кнопка-картинка.


...

Прочее оформление - на ваш вкус.
...

У ссылки обязательно должен быть «title» и именно в таком виде: двоеточие, и через пробел, название материала оператором.
....
Потренироваться в точности управления курсором и скорости нажимания кнопок, можно вот здесь:
http://likbezz.ru/news/2009-08-13-252 ...

P.S. Многократный жим карается строго и беспощадно. )
...
Прикрепления: 9811002.png (1.3 Kb) · 3605138.png (16.7 Kb) · 3817643.png (14.7 Kb) · 4622891.png (3.1 Kb) · 8212240.png (5.9 Kb) · 5708719.png (1.5 Kb) · _repDo.js (0.6 Kb)
[2] Diana [26.08.2011, 22:46]
Просто замечательно всё работает smile
[3] MAGELLAN [29.08.2011, 13:06]
Чудненько!..
[4] famous [25.01.2012, 20:51]
Спасибо, всё работало и работает, но есть одна проблема... Что-то с ucoz'ом произошло и теперь в списке с репутацией пишет: Плюс за данный материал: undefined

Может можно как-то исправить?
[5] likbezz [26.01.2012, 08:19]
Спасибо за материал: «Спасибо за материал. Скрипт для юкоз»
[6] likbezz [26.01.2012, 08:41]
Quote (famous)
Что-то с ucoz'ом произошло и теперь в списке с репутацией пишет: Плюс за данный материал: undefined
Может можно как-то исправить?

Перекачайте скрипт, почистите кэш, и, если проблема останется, ссылку на проблему, и тестовый логин/пароль, если нужен.
...
[7] famous [28.01.2012, 12:14]
Скрипт перекачал. Вчера, после чистки кэша и куков - вроде бы заработало, обрадовался... Сегодня утром опять undefined. Чищу куки, кэш - ничего.
[8] likbezz [28.01.2012, 14:54]
famous,
Quote (famous)
Скрипт перекачал. Вчера, после чистки кэша и куков - вроде бы заработало, обрадовался... Сегодня утром опять undefined. Чищу куки, кэш - ничего.

Написано же:
Quote (likbezz)
У ссылки обязательно должен быть «title» и именно в таком виде: двоеточие, и через пробел, название материала оператором.

Code
<a title="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><img src="http://likbezz.ru/_source/_ico/simbol/01/thanks_btn.gif" width="80" height="23" border="0" /></a>

... У тебя же нет титла вообще:
Code
<a onclick="repDo(this,'1');return false;" href="javascript://"><input type="button" value="Повысить репутацию Famous за эту новость" class="shadow"></a>

.... Поправь и всё будет работать.
[9] likbezz [28.01.2012, 17:14]
Я тоже проверил - не стоят.


...
... А, вот в чём дело - у тебя хинт титле уничтожает ... ))) Понятнетько ....
Тогда замени атрибут «title» на атрибут «rel» - и в коде и в скрипте.

Code
<a rel="Повысить репутацию «$USER$» за эту новость: «$ENTRY_NAME$»" href="javascript://" onclick="repDo(this,'$UID$');return false;"><input type="button" value="Повысить репутацию $USER$ за эту новость" /></a>


Поправленный под тебя (остальным качать из первого сообщения) скрипт в прикреплении ...
Прикрепления: 5274125.png (3.7 Kb) · _repDoRel.js (0.6 Kb)
[10] famous [28.01.2012, 20:18]
Всё, теперь всё побежало. Спасибо огромнае за скрипт, за помощь и за скорость
[11] neprostoy [13.05.2012, 20:04]
Здравствуйте

Скачал и установил скрипт на свой сайт, все работает, только проблема в кодировке? Как лечить?

Прикрепления: 3770357.png (7.6 Kb)
[12] likbezz [14.05.2012, 05:56]
neprostoy,
Quote (neprostoy)
Скачал и установил скрипт на свой сайт, все работает, только проблема в кодировке? Как лечить?

Пересохранить файл со скриптом в кодировке UTF-8 - открыть блокнотом и «сохранить как» указав нужную кодировку.
Файл перезалить, кэш сбросить.
...
[13] WOLFsergey [24.07.2012, 00:37]
Спасибо за скрипт..

Пересохранить файл со скриптом в кодировке UTF-8 - открыть блокнотом и «сохранить как» указав нужную кодировку.


Я делаю по другому..открываю скрипт в браузере..копирую в блакнот..заливаю в корень..переименовую..открываю редактировать снова капирую скрипт..с орегинала в редактируемый и все ..)



Вот моя проблема..не пишет какой материал..(
[14] neprostoy [25.08.2012, 20:16]
А можно немного улучшить скрипт? Изменить название ошибки "Доступ запрещен" на "Гости не могут повышать репутацию, а ниже Регистрация | Вход". Ну и соответственно "Вы не можете повышать репутацию самому себе."?
[15] likbezz [25.08.2012, 20:40]
neprostoy,
Quote (neprostoy, Сб, 25.08.2012, 20:16:10)
А можно немного улучшить скрипт?

Можно, разрешаю.


Полная версия сайта