lirikk 1 Опубликовано: 12 января 2011 Рассказать Опубликовано: 12 января 2011 (изменено) Как можно реализовать следующие: На странице краткой новости (shortstory.tpl) сделать вывод общего количества рейтинга (к примеру +1 или -1) без возможности выставлять сам рейтинг А сам рейтинг уже выставлять на странице полной новости. (это уже реализовано) Да еще как поставить к положительным результатам знак +, знак - сам ставится, когда отрицательный. ниже мой код в файле functions.php function ShowRating($id, $rating, $vote_num, $allow = true) { global $is_logged, $member_id, $config, $lang, $db; if ($rating) $rating = round($rating, 0); else $rating = 0; if (!$allow) { $rated = <<<HTML <div id="ratig-layer">{$rating}</div> HTML; return $rated; } $rated .= <<<HTML <span id="ratig-layer-{$id}"> <div id="ratig-layer"> {$rating} <a href="#" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" title="нравится"> <img src="{THEME}/dleimages/up.png" border="0" width="16" height="16" align="absmiddle" /> </a> <a href="#" class="r1-unit" onclick="doRate('-1', '{$id}'); return false;" title="не нравится"> <img src="{THEME}/dleimages/down.png" border="0" width="16" height="16" align="absmiddle" /> </a> </div> </span> HTML; return $rated; } function ShortRating($id, $rating, $vote_num, $allow = true) { global $config, $lang; if ($rating) $rating = round($rating, 0); else $rating = 0; if (!$allow) { $rated = <<<HTML <div id="ratig-layer">{$rating}</div> HTML; return $rated; } $rated = "<span id=\"ratig-layer-" . $id . "\">"; $rated .= <<<HTML <div id="ratig-layer"> {$rating} <a href="#" class="r2-unit" onclick="dleRate('1', '{$id}'); return false;" title="нравится"> <img src="{THEME}/dleimages/up.png" border="0" width="16" height="16" align="absmiddle" /> </a> <a href="#" class="r1-unit" onclick="dleRate('-1', '{$id}'); return false;" title="не нравится"> <img src="{THEME}/dleimages/down.png" border="0" width="16" height="16" align="absmiddle" /> </a> </div> HTML; $rated .= "</span>"; return $rated; } function userrating($name) { global $db; $row = $db->super_query("SELECT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post where autor ='$name'"); if ($row['num']) $rating = round(($row['rating'] / $row['num']), 0); else $rating = 0; $rating = $rating * 17; $rated = <<<HTML {$rating} HTML; return $rated; } За ранее благодарен. Изменено 12 января 2011 пользователем lirikk Цитата Ссылка на сообщение Поделиться на других сайтах
lirikk 1 Опубликовано: 14 января 2011 Рассказать Опубликовано: 14 января 2011 Автор Не ужели никто не знает как сделать такой вывод? какой вставить код? Народ помогите кто знает. Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 15 января 2011 Рассказать Опубликовано: 15 января 2011 Ну mobile-soft.su стоит такой рейтинг в короткой новости... Просто стрелочки вырезать и все) Но я уже не помню как ставил этот хак) Смотрите на 4dle.ru Цитата Ссылка на сообщение Поделиться на других сайтах
lirikk 1 Опубликовано: 15 января 2011 Рассказать Опубликовано: 15 января 2011 Автор если бы по подробнее, а то что не нашел, как сделать, чтоб вырезало стрелочки Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 15 января 2011 Рассказать Опубликовано: 15 января 2011 Я сейчас точно не помню как именно, но суть того хака в том, что рейтинг прописывается двумя кусками кода и в show.full.php и в show.short.php, вот как раз в файле show.short.php как я палагаю надо прописать просто без использования стрелочек и тогда будут выводится только сами значения, без возможности их менять, а в полной будет нормально с изменениями!P.S. это я говорю не для вашего когда, что Вы написали, а для кода того хака, вот сам хак: http://4dle.ru/hacks/1147155774-rejjting-novostejj.html Цитата Ссылка на сообщение Поделиться на других сайтах
lirikk 1 Опубликовано: 15 января 2011 Рассказать Опубликовано: 15 января 2011 (изменено) Автор Разобрался выкладываю исправленный код файла (functions.php), так же уже учтены цвета зеленый и красный при рейтинге. Может кому понадобится. работает на 9.2 function ShowRating($id, $rating, $vote_num, $allow = true) { global $is_logged, $member_id, $config, $lang, $db; if ($rating) $rating = round($rating, 0); else $rating = 0; switch($rating) { case ($rating > 0): $rating = '<span style="color: #009900;">+'.$rating.'</span>'; break; case ($rating < 0): $rating = '<span style="color: #FF0000;">'.$rating.'</span>'; break; case($rating == 0): $rating = '<span style="color: #000000;">'.$rating.'</span>'; break; } if (!$allow) { $rated = <<<HTML <div id="ratig-layer">{$rating}</div> HTML; return $rated; } $rated .= <<<HTML <span id="ratig-layer-{$id}"> <div id="ratig-layer"> {$rating} <a href="#" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" title="нравится"> <img src="{THEME}/dleimages/up.png" border="0" width="16" height="16" align="absmiddle" /> </a> <a href="#" class="r1-unit" onclick="doRate('-1', '{$id}'); return false;" title="не нравится"> <img src="{THEME}/dleimages/down.png" border="0" width="16" height="16" align="absmiddle" /> </a> </div> </span> HTML; return $rated; } function ShortRating($id, $rating, $vote_num, $allow = true) { global $config, $lang; if ($rating) $rating = round($rating, 0); else $rating = 0; switch($rating) { case ($rating > 0): $rating = '<span style="color: #009900;">+'.$rating.'</span>'; break; case ($rating < 0): $rating = '<span style="color: #FF0000;">'.$rating.'</span>'; break; case($rating == 0): $rating = '<span style="color: #000000;">'.$rating.'</span>'; break; } if (!$allow) { $rated = <<<HTML <div id="ratig-layer">{$rating}</div> HTML; return $rated; } $rated = "<span id=\"ratig-layer-" . $id . "\">"; $rated .= <<<HTML <div id="ratig-layer"> {$rating} </div> HTML; $rated .= "</span>"; return $rated; } Изменено 15 января 2011 пользователем lirikk 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.