Вы не зашли.
Наименование: simple_rating (упрощенный рейтинг новостей)
Описание: Плагин позволяет пользователям положительно или отрицательно оценивать новости.
Текущая версия: 0.02 [от 10.06.09]
Скачать: RAR (5.82 KiB)
История изменений:
[0.02][2009-06-10]
+ Информация о голосах зарегистрированных пользователей теперь всегда записывается в БД[0.01][2009-06-10]
x Первый релиз, основан на плагине rating за авторством SwiZZeR & Vitaly A. Ponomarev, версии 0.04
+ Добавлена переменная {signum}, принимающая значения positive, negative или zero при положительном, отрицательном или нулевом рейтинге соответственно
Тег для вывода рейтинга:
{simple_rating}
Изменено insider (2009-06-10 19:49:12)
Не в сети
не получается скачать, к сожалению. можно перезалить куда-нибудь? а лучше все же починить систему аттачей
добавлено: с энного раза получилось. на всякий случай, для таких же невезучих как я: http://slil.ru/27745148
Изменено SeeD (2009-06-10 10:05:42)
делай, что надо и будь, что будет
Не в сети
http://uploadbox.com/files/cd98a97c53
Спасибо за positive, negative, zero. Хорошо получилось.
Не в сети
хм, переменная ведь не изменилась? {plugin_rating}, если я правильно понял
1) выключил обычный rating
2) включил новый
В итоге в шаблонах просто пустота. И в короткой и в полной новости. Версия движка - 0.9.0 Release (Fix #04)
делай, что надо и будь, что будет
Не в сети
Не в сети
Ещё бы для тех кто переезжает с обычного рейтинга на этот сделать специальный install.php, который спрашивает очищать значения rating, votes или нет...
Не в сети
Насколько я помню, вложения на форуме всё-таки работают.. разве нет?
С хрома выложить ничего не получается...;)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Исправил, прикрепил к первому посту. vitaly, удали старую версию оттуда.
Тег теперь {simple_rating}
И еще, будьте внимательны, если он стоит внутри
[isplugin rating][/isplugin]
то ничего, ясное дело, не отобразиться. Используйте
[isplugin simple_rating][/isplugin]
Не в сети
Для обнуления рейтинга можно использовать следующий SQL-запрос:
ALTER TABLE `ng_news`
DROP `rating`,
DROP `votes`,
ADD `rating` int(10) NOT NULL default '0' AFTER `keywords`,
ADD `votes` int(10) NOT NULL default '0' AFTER `rating`;
Где ng – префикс таблиц БД
Не в сети
спасибо, вторая версия заработала, уже наладил. смущает только одно
1) на главной десять новостей, я проголосавал за них за всех
2) походил по паре ссылок, не очищая кукисы
3) вернулся на главную и уже одна, две или три новости забыли, что я за них голосовал и дают голосовать повторно
То есть механизм получается крайне ненадежный. Я бы, конечно, был очень рад переходу на записи в БД и фиг с ними, с лишними запросами.
делай, что надо и будь, что будет
Не в сети
БД-версия будет вечером
P.S. Аналогично проголосовал за новости на pspfaqs.ru, походил по ссылкам, рестартнул браузер, вернулся - все запомнилось. Что я не так делаю?
P.P.S. Ссылка [показать все теги] работает только на главной
Не в сети
кстати, вопрос знатокам CSS: можно как-то добавить в класс положительной новости прописывание символа "+" перед самой цифрой. То есть чтобы в итоге получилось:
Рейтинг: +9
Изменено SeeD (2009-06-10 18:59:37)
делай, что надо и будь, что будет
Не в сети
еще раз спасибо, так намного лучше
последнее пожелание: хочется сделать совсем разный вид рейтинга на короткой и полной новости, в связи с чем не хватает третьего TPL, который бы всегда служил только для вывода информации о текущем рейтинге, без возможности его изменения вне зависимости от того, голосовал пользователь или нет.
если, конечно, не очень затруднит
делай, что надо и будь, что будет
Не в сети
SeeD
#1. В rating.php найди
function rating_show($newsID, $rating, $votes){
#1. Замени на
function rating_show($newsID, $rating, $votes, $editable = true){
#2. Далее
if ((extra_get_param('simple_rating','regonly') && !is_array($userROW)) || $_COOKIE['rating'.$newsID] || (is_array($userROW) && in_array($newsID, explode(',', $userROW['voted'])))) {
#2. Замени на
if (!$editable || (extra_get_param('simple_rating','regonly') && !is_array($userROW)) || $_COOKIE['rating'.$newsID] || (is_array($userROW) && in_array($newsID, explode(',', $userROW['voted'])))) {
#3. И последнее
$tvars['vars']['simple_rating'] = rating_show($row['id'],$row['rating'],$row['votes']);
#3. Добавь после
$tvars['vars']['simple_rating_onlyshow'] = rating_show($row['id'],$row['rating'],$row['votes'],false);
В результате будет доступна переменная {simple_rating_onlyshow} ясно для чего
Изменено insider (2009-06-11 00:19:42)
Не в сети
Я и не стремился сделать так, чтобы оно брало другой .tpl
Найди
if (!$editable || (extra_get_param('simple_rating','regonly') && !is_array($userROW)) || $_COOKIE['rating'.$newsID] || (is_array($userROW) && in_array($newsID, explode(',', $userROW['voted'])))) {
Замени на
if (!$editable) {
// Show
$tpl -> template('rating.show', $tpath['rating']);
$tpl -> vars('rating.show', $tvars);
return $tpl -> show('rating.show');
} else if ((extra_get_param('simple_rating','regonly') && !is_array($userROW)) || $_COOKIE['rating'.$newsID] || (is_array($userROW) && in_array($newsID, explode(',', $userROW['voted'])))) {
Тогда будет rating.show.tpl
Не в сети
Не в сети