Фикc хак для установки цветного рейтинга для DLE 8.2.Сталкyлся я с тем что устанавливая на движок DLE 8.2 у меня вылетала ошибка и хак не корректно работал и не мог понять в чем проблема перезаписывал я коды по несколько раз заново и результат один и тот же. Потом для проверки решил я поставить на движок DLE 7.5 и вот оно чудо заработало. Затем дело техники перелопатил я все коды файлов что менялось и сравнивал с файлами от движка DLE 8.2.И нашел разницу между движками в коде для DLE 7.5 $rated .= и DLE 8.2 $rated .= ""; и последнее я не стал менять и оставил как оно есть. Дополнено by TipTop Открыть файл: /engine/ajax/rating.php Найти: if ($go_rate > 5 OR $go_rate < 1) $go_rate = 0; Заменить на: if ($go_rate > 1 OR $go_rate < -1) $go_rate = 0; Открыть файл /engine/modules/functions.php Найти примерно следующее: function ShowRating ($id, $rating, $vote_num, $allow = true){ if ($rating) $rating = round(($rating / $vote_num), 0); else $rating = 0; $rating = $rating * 17; ...пропущен код... return $rated; } $rated .= << ...пропущен код... return $rated; } Заменить на: function ShowRating($id, $rating, $vote_num, $allow = true) { global $is_logged, $member_id, $config, $lang, $db; if ($rating=='null'){$rating="Уже Голосовали!";}else{ if ($rating) $rating = round($rating, 0); else $rating = 0; if ($rating > 0) $rating = "+".$rating.""; elseif ($rating == 0) $rating="".$rating.""; else $rating = "".$rating.""; } if (!$allow) { $rated = << {$rating} HTML; return $rated; } $rated .= << [img]{THEME}/dleimages/up.gif[/img] {$rating} [img]{THEME}/dleimages/down.gif[/img] HTML; return $rated; } Найти примерно следующее: function ShortRating ($id, $rating, $vote_num, $allow = true){ global $config, $lang; ...пропущен код... $rated .= << ...пропущен код... $rated .= ""; return $rated; } Заменить на: function ShortRating($id, $rating, $vote_num, $allow = true) { global $config, $lang; if ($rating) $rating = round($rating, 0); else $rating = 0; if ($rating > 0) $rating = "+".$rating.""; elseif ($rating == 0) $rating="".$rating.""; else $rating = "".$rating.""; if (!$allow) { $rated = << {$rating} HTML; return $rated; } $rated = ""; $rated .= << [img]{THEME}/dleimages/up.gif[/img] {$rating} [img]{THEME}/dleimages/down.gif[/img] HTML; $rated .= ""; return $rated; } Найти функцию (должна быть сразу после вышеописанных кодов): [code]function userrating($name) . ..пропущен код... 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; $rated = << {$rating} HTML; return $rated; } Открыть файл /templates/ваш_шаблон/css/engine.css Найти: .rating { color: #757575; font-size: 11px; /* ! */ font-family: tahoma; /* ! */ width: 85px; height: 16px; } .unit-rating { list-style: none; margin: 0px; padding: 0px; width: 85px; height: 16px; position: relative; background-image: url(../dleimages/rating.gif); background-position: top left; background-repeat: 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-image: url(../dleimages/rating.gif); background-position: 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-image: url(../dleimages/rating.gif); background-position: left bottom; position: absolute; height: 16px; display: block; text-indent: -9000px; z-index: 1; } Заменить на: .r2-unit{ cursor: pointer; } .rating-text {float: left;} #ratig-layer { font-weight: bold; float: left; padding-right: 5px; } #ratig-layer a, #ratig-layer a:hover {text-decoration: none;} Открыть файл /templates/ваш_шаблон/shortstory.tpl Найти: {rating} Заменить на: Рейтинг: {rating} Тоже самое проделайте и с файлом fullstory.tpl Вот и все! Внимательно копируйте и всавляйте и все заработает.
|