Michelangelo 0 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 здраствуйте. теперь рейтинг для новостей можно выставлять и в короткой новости. мне бы хотелось вернуть старый вариант, отображение рейтинга в shortnews картинками и с невозможностью голосования. rating1.gif rating2.gif rating3.gif rating4.gif rating5.gif как реализовать это на 6.0? спасибо. Ссылка на сообщение Поделиться на других сайтах
Kaiser 2 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 Да, задавал вопрос этот но никто не ответил. Поддерживаю вообщем данную тему, нужен старый рейтинг! Ссылка на сообщение Поделиться на других сайтах
IIya 0 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 Вернее сказать что эта функция отключена во всех версиях после 5.5 Исправляем эту ошибку... Заходим в engine\modules\functions.php Находим: function ShortRating ($id, $rating, $vote_num, $allow = true){ global $config, $lang; if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0; $rating = $rating * 17; if (!$allow) { $rated = <<<HTML <div class="rating" style="float:left;"> <ul class="unit-rating"> <li class="current-rating" style="width:{$rating}px;">{$rating}</li> </ul> </div> HTML; return $rated; } $rated = "<span id='ratig-layer-".$id."'>"; $rated .= <<<HTML <div class="rating" style="float:left;"> <ul class="unit-rating"> <li class="current-rating" style="width:{$rating}px;">{$rating}</li> <li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="dleRate('1', '{$id}'); return false;">1</a></li> <li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="dleRate('2', '{$id}'); return false;">2</a></li> <li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="dleRate('3', '{$id}'); return false;">3</a></li> <li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="dleRate('4', '{$id}'); return false;">4</a></li> <li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="dleRate('5', '{$id}'); return false;">5</a></li> </ul> </div> HTML; $rated .= "</span>"; return $rated; } И заменяем к ебням собачим эту ошибку программера вот этим: function ShortRating ($id, $rating, $vote_num){ global $config, $lang; if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0; $rating = $rating * 17; $rated .= <<<HTML <div class="rating" style="float:left;"> <ul class="unit-rating"> <li class="current-rating" style="width:{$rating}px;">{$rating}</li> </ul> </div> HTML; return $rated; } Всё . Этого достаточно для корректной работы скрипта. Пользуйтесь. Не знаю почему целсофт сразу не сказал об этом. Мля, все мозги выеб, писец! Ссылка на сообщение Поделиться на других сайтах
Tong 0 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 Kaiser, +1 Ссылка на сообщение Поделиться на других сайтах
Michelangelo 0 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 Автор Ilya красавец а модуль тегов осилишь? нужна система тегов потипа как на news2.ru тут где-то рядом был топик, посмотри если не влом. зарплатой не обидем Ссылка на сообщение Поделиться на других сайтах
promol 0 Опубликовано: 7 июня 2007 Рассказать Опубликовано: 7 июня 2007 +1зарплатой не обидем Желательно автоматический) Ссылка на сообщение Поделиться на других сайтах
Reaktor 0 Опубликовано: 22 июня 2007 Рассказать Опубликовано: 22 июня 2007 IIya, Спасибо Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 А покажите мне, пожалуйста новую систему рейтинга ,которая вам так не нравится Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 а по-моему что-то намудрили... вроде же не тяжело посмотреть старый код... в engine/modules/functions.php вот это function ShortRating ($id, $rating, $vote_num, $allow = true){ global $config, $lang; if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0; $rating = $rating * 17; if (!$allow) { $rated = <<<HTML <div class="rating" style="float:left;"> <ul class="unit-rating"> <li class="current-rating" style="width:{$rating}px;">{$rating}</li> </ul> </div> HTML; return $rated; } $rated = "<span id='ratig-layer-".$id."'>"; $rated .= <<<HTML <div class="rating" style="float:left;"> <ul class="unit-rating"> <li class="current-rating" style="width:{$rating}px;">{$rating}</li> <li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="dleRate('1', '{$id}'); return false;">1</a></li> <li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="dleRate('2', '{$id}'); return false;">2</a></li> <li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="dleRate('3', '{$id}'); return false;">3</a></li> <li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="dleRate('4', '{$id}'); return false;">4</a></li> <li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="dleRate('5', '{$id}'); return false;">5</a></li> </ul> </div> HTML; $rated .= "</span>"; return $rated; } меняем на function ShortRating ($rating, $vote_num){ global $config, $lang; $rated = ""; $excellent = $lang['excellent']; $good = $lang['good']; $fair = $lang['fair']; $poor = $lang['poor']; $useless = $lang['useless']; if ($rating < 1){ $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating0.gif\" border=\"0\" align=\"absmiddle\">\n"; } else { $rating = round(($rating / $vote_num), 0); if ($rating == 1) { $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating1.gif\" border=\"0\" align=\"absmiddle\" alt=\"$lang[rated] $useless\">\n"; }elseif ($rating == 2) { $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating2.gif\" border=\"0\" align=\"absmiddle\" alt=\"$lang[rated] $poor\">\n"; }elseif ($rating == 3) { $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating3.gif\" border=\"0\" align=\"absmiddle\" alt=\"$lang[rated] $fair\">\n"; }elseif ($rating == 4) { $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating4.gif\" border=\"0\" align=\"absmiddle\" alt=\"$lang[rated] $good\">\n"; }elseif ($rating == 5) { $rated .= "<img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/rating5.gif\" border=\"0\" align=\"absmiddle\" alt=\"$lang[rated] $excellent\">\n"; } } return $rated; } ну и в engine/modules/show.short.php & engine/modules/show.custom.php строчку $tpl->set('{rating}',ShortRating ($row['id'],$row['rating'], $row['vote_num'])); заменяем на $tpl->set('{rating}',ShortRating ($row['rating'], $row['vote_num'])); Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 kenpark пять баллов! Только ещё тоже самое в show.full.php надо проделать.... Один вопрос, в userinfo.tpl не отображается.... Что нужно подправить, что бы в инфо пользователя заработало?? Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 в фулл_стори нужно же как-то голосовать, потому и не нужно менять а вот в профиле вроде отображается... Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 тогда в фулл стори показываются точки в столбик с цифрами 1 2 3 4 5, и в инфе тоже столбик, в нем маленькая черная точка , во так Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 ммм...может ты заменил не ту ф-цию?...у мну вроде все ок... Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 в том то и дело, что ту... а голосовать вообще нельзя в полной новости, хотя как вы сказали, поставил show.full.php прежнее значение. Заново поставил исходные файлы functions.php , и show.full.php Наблюдается такая картина при голосование в полной новости Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 эээ...шаблон случайно не для старых версий? без вишеназваных изменений вообще рейтинг работает? попробуй на чистом двиге такое проделать, у меня все работает! Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 без выше описанных действие тоже рейтинг не работал... такие же точки были... Шаблон модульный... Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 ааа)) правь тода css...на форуме были темы Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 25 июня 2007 Рассказать Опубликовано: 25 июня 2007 Точно... kenpark который раз ты меня выручаешь! достаточно вспомнить об engine.css и заменить в нем рейтинг с такого .rating { background: #FFF; border: 1px solid #E0E0E0; color: #666666; font-family: Tahoma, helvetica, sans-serif; vertical-align: middle; font-size: 11px; vertical-align: middle; height:18px; } На такой .rating { color: #666666; font-family: Tahoma, helvetica, sans-serif; font-size: 11px; width: 85px; height: 16px; } .unit-rating{ list-style:none; margin: 0px; padding:0px; width: 85px; height: 16px; position: relative; background: url('../dleimages/rating.gif') top left repeat-x; } .unit-rating li{ text-indent: -90000px; padding:0px; margin:0px; float: left; } .unit-rating li a{ display:block; width:17px; height: 16px; text-decoration: none; text-indent: -9000px; z-index: 17; position: absolute; padding: 0px; } .unit-rating li a:hover{ background: url('../dleimages/rating.gif') left center; z-index: 2; left: 0px; } .unit-rating a.r1-unit{left: 0px;} .unit-rating a.r1-unit:hover{width:17px;} .unit-rating a.r2-unit{left:17px;} .unit-rating a.r2-unit:hover{width: 34px;} .unit-rating a.r3-unit{left: 34px;} .unit-rating a.r3-unit:hover{width: 51px;} .unit-rating a.r4-unit{left: 51px;} .unit-rating a.r4-unit:hover{width: 68px;} .unit-rating a.r5-unit{left: 68px;} .unit-rating a.r5-unit:hover{width: 85px;} .unit-rating li.current-rating{ background: url('../dleimages/rating.gif') left bottom; position: absolute; height: 16px; display: block; text-indent: -9000px; z-index: 1; } Ссылка на сообщение Поделиться на других сайтах
Kaiser 2 Опубликовано: 2 июля 2007 Рассказать Опубликовано: 2 июля 2007 kenpark, Спасибо! Ссылка на сообщение Поделиться на других сайтах
Гость Опубликовано: 2 июля 2007 Рассказать Опубликовано: 2 июля 2007 <#thank#> Ссылка на сообщение Поделиться на других сайтах
ext 0 Опубликовано: 21 марта 2008 Рассказать Опубликовано: 21 марта 2008 помогите. стоит версия 6.7, делал, как прописал kenpark в engine/modules/functions.php заменил всё в точности. в engine/modules/show.short.php и engine/modules/show.custom.php не было таких строчек: $tpl->set('{rating}',ShortRating ($row['id'],$row['rating'], $row['vote_num'])); поэтому из похожих строчек: $tpl->set('{rating}',ShowRating ($$row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'])); и $tpl->set('{rating}',ShortRating ($row['id'],$row['rating'], $row['vote_num'], 1)); else $tpl->set('{rating}',ShortRating ($row['id'],$row['rating'], $row['vote_num'], 0)); убрал вот это: $row['id'], звёздочки появились! голосую.. голос засчитывается.. обновляю страницу и.. 0 голосов! все голоса пропали! как это исправить? помогите Ссылка на сообщение Поделиться на других сайтах
ext 0 Опубликовано: 2 апреля 2008 Рассказать Опубликовано: 2 апреля 2008 поможет кто? а то новую тему не позволяют создавать Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.