Когда то сделал себе(набросал). пример например
http://www.tehnoboom.com.ua/product/675-mitsubishi_srk28hg-s-src28hg-s/в css/css_ваша_тема/stylesheet/stylesheet.css
.stars {position:relative; width:85px; height: 16px;background: url("../image/stars_voite.png") repeat-x left top;}
.stars span {visibility: hidden;height: 16px;width:17px;}
a.s1, a.s2, a.s3, a.s4, a.s5 {display:inline-block;position:absolute;height: 16px;width:17px; z-index:2;}
.stars a.s1 {left:0px;}
.stars a.s2 {left:17px;}
.stars a.s3 {left:34px;}
.stars a.s4 {left:51px;}
.stars a.s5 {left:68px;}
a.s1:hover, a.s2:hover, a.s3:hover, a.s4:hover, a.s5:hover, .cool, .bad {text-decoration:none;background: url("../image/stars_voite.png") repeat-x left -16px; z-index:1}
a.s1:hover {left:0px; width:17px;}
a.s2:hover {left:0px; width:34px;}
a.s3:hover {left:0px; width:51px;}
a.s4:hover {left:0px; width:68px;}
a.s5:hover {left:0px; width:85px;}
.cool, .bad {height: 16px; width:17px;}
.cool {background-position: left -32px;}
.bad {background-position: left top;}
.fl {float:left;}
в product_detailed.php после:
if ($a[23] != "" && CONF_CHPU) {$a[23] = REDIRECT_CATALOG."/".$a[23]."about/";} else {$a[23] = "index.php?about&category=".$a[0];}
вставить:
if ($a[14] !="" && CONF_CHPU) {$a[29] = REDIRECT_PRODUCT."/".$a[14];} else {$a[29] = "index.php?productID=".$a[11];}
в product_detailed.tpl.html (где хотим видеть голосовалку):
<form action="./{$product_info[29]}" method="post" id="stars">
<input name="productID" value="{$product_info[11]}" type="hidden" />
<input name="vote" value="yes" type="hidden" />
<input name="mark" value="" type="hidden" />
<div>{$smarty.const.ADMIN_PRODUCT_RATING}: {$product_info[3]} (голосов: {$product_info[8]})</div>
<div class="stars fl">
<a class="s1" href="#" onclick="$('input[name=\'mark\']').attr('value', '0.1');" rel="nofollow" title="Плохо"><span>0.1</span></a>
<a class="s2" href="#" onclick="$('input[name=\'mark\']').attr('value', '1');" rel="nofollow" title="Не очень"><span>1</span></a>
<a class="s3" href="#" onclick="$('input[name=\'mark\']').attr('value', '2.5');" rel="nofollow" title="Средне"><span>2.5</span></a>
<a class="s4" href="#" onclick="$('input[name=\'mark\']').attr('value', '3.8');" rel="nofollow" title="Хорошо"><span>3.8</span></a>
<a class="s5" href="#" onclick="$('input[name=\'mark\']').attr('value', '5');" rel="nofollow" title="Отлично"><span>5</span></a>
<div class="stars_res">
{section name=i loop=5}{if $smarty.section.i.index<$product_info[3]}<div class="cool fl"> </div>{else}<div class="bad fl"> </div>{/if}{/section}
</div>
</div>
<div id="stars_show" class="fl" style="visibility: hidden; padding:2px 0 0 5px;"></div>
</form>
в core/js/js_scripts.js в конец добавить:
$(document).ready(function(){
$('#stars a').attr('href', 'javascript:void(null)');
$('#stars a').hover(function () {
if ($(this).is(':first-child')) {$('#stars_show').text($('#stars a').attr('title'));}
else {$('#stars_show').text($(this).attr('title'));}
$('#stars_show').css('visibility', 'visible');
});
$('#stars a').mouseout(function(){$('#stars_show').text('').css('visibility', 'hidden')});
$('#stars a').click(function(){$('#stars').submit();});
return false;
});
сама картинка, сохранить как stars_voite.png и положить в css/css_ваша_тема/image/:
вроде всё.))
ps/ чуть поправил.