Спасибо за материал. Скрипт для юкоз.
|
|
[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. Многократный жим карается строго и беспощадно. ) ...
|
|
[2] Diana [26.08.2011, 22:46] |
Просто замечательно всё работает |
|
[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>
Поправленный под тебя (остальным качать из первого сообщения) скрипт в прикреплении ...
|
|
[10] famous [28.01.2012, 20:18] |
Всё, теперь всё побежало. Спасибо огромнае за скрипт, за помощь и за скорость |
|
[11] neprostoy [13.05.2012, 20:04] |
Здравствуйте
Скачал и установил скрипт на свой сайт, все работает, только проблема в кодировке? Как лечить?
|
|
[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, А можно немного улучшить скрипт? Можно, разрешаю. |
|