Вы не зашли.
Читай пред. страницу, внимательно
А уж совсем идеальный вариант - сделать (опционально) защиту от повторного голосования - сохранять информацию о проголосовавших в БД. Как тебе такой вариант?
Она туда и сохраняется.
Над остальным подумаю.
Я и не стремился сделать так, чтобы оно брало другой .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
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} ясно для чего
А в первый пост посмотреть?
Обновил первый пост. Для перехода с версии 0.01 достаточно запустить установку плагина.
Очистить информацию о рейтингах можно удалив плагин.
positive:before {
content: "+";
}
БД-версия будет вечером
P.S. Аналогично проголосовал за новости на pspfaqs.ru, походил по ссылкам, рестартнул браузер, вернулся - все запомнилось. Что я не так делаю?
P.P.S. Ссылка [показать все теги] работает только на главной
Для обнуления рейтинга можно использовать следующий 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 – префикс таблиц БД
Исправил, прикрепил к первому посту. vitaly, удали старую версию оттуда.
Тег теперь {simple_rating}
И еще, будьте внимательны, если он стоит внутри
[isplugin rating][/isplugin]
то ничего, ясное дело, не отобразиться. Используйте
[isplugin simple_rating][/isplugin]
Порядок вывода категорий можно изменить в админке, "Позиция" в Управлении категориями
Наименование: 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}
В настройках категории гостевой убери галку с "Отображать категорию в меню"
В настройках новости этой категории убери галку с "Отобразить на главной"
Добавить строку в .htaccess можно в конец
P.S. Первый пост отредактировал
Немного поправил
function plugin_lastnews(){
global $catz, $template;
$catz_per_block = 5; // кол-во категорий в одном блоке
$i = 0;
$j = 0;
foreach ($catz as $cat)
{
if ($i == 0 || $j >= $catz_per_block)
{
$j = 0;
$i++;
$template['vars']["lastnews_everycat_{$i}"] = '';
}
$template['vars']["lastnews_everycat_{$i}"] .= plugin_lastnewsGenerator('', array($cat['id']), array('number' => 1));
$j++;
}
}
Переменные будут
{lastnews_everycat_1}
{lastnews_everycat_2}
...
{lastnews_everycat_N}
И еще, надо в lastnews.php найти
if (intval($overrideParams['number']) <= 1) {
И заменить на
if (intval($overrideParams['number']) < 1) {
Для работоспособности, в шаблоне плагина что-либо менять не обязательно
В шаблон вставить, в ранее размеченные блоки новостей
Не особо понял что надо, можно где-либо посмотреть данный вид рейтинга в действии?
RocketBoy хотел упрощенный рейтинг с плюсом и минусом (который я, кстати, делал). Здесь, как мне кажется, нечто другое.
not_logged = "Уважаемый пользователь, вам необходимо <a href='http://web-advice.ru/?action=registration'><font color='green'><b>зарегистрироваться</b></font></a>, чтобы посмотреть скрытый текст!"
Это доп. переменные для вывода кол-ва новостей и комментариев, на основной функционал они никак не влияют.
Ну вот это и есть та ошибка, из-за которой не доходят уведомления после регистрации. Теперь надо думать как ее исправить.
Попробуй в том же файле заменить
$headers .= 'content-type: multipart/mixed;boundary="----------'.$uniqid.'"'."\n\n";
на
$headers .= 'content-type: multipart/mixed;boundary="----------'.$uniqid.'"'."\n";
[hr /]edit:
Я пробовал ставить PHP5 в предыдущей установке движка - при любых действиях в админке вылазит по несколько ошибок.
это так и должно быть на текущем релизе?
Не должно. Каких ошибок?
Первое зачем?
А что вставить в main.tpl я писал в предыдущем посте
Релиз, но для такого примитивного плагина это никакой роли не играет
У меня плагин работает тот, что в первом посту, никакая замена не требуется. Но и с заменой тоже работает.
edit: В выложенном comments.show.php замена #3 не произведена, и зачем надо было трогать?
exec_acts('comments_form', $row);
Профиль
Кто-то разве говорил, что рейтинг должен отображаться в профиле?
Что делать?
Попробуй заменить в user_ranks.php
if ($row['reg'] == "1") {
на
if ($row['reg']) {
$tvars['vars']['ip'] = "http://www.nic.ru/whois/?ip={$row['ip']}";