модуль рейтинга товара для shopscript

Тема в разделе "Shop-script", создана пользователем AlexandriusII, 23 авг 2008.

Статус темы:
Закрыта.
  1. AlexandriusII

    AlexandriusII Создатель

    Регистр.:
    29 июл 2008
    Сообщения:
    15
    Симпатии:
    5
    Можно где-то найти модуль голосования за товар как в joomla? Там пять звезд при нажатии на определенную подсчитывается рейтинг
     
  2. Hmelex

    Hmelex

    Регистр.:
    15 апр 2008
    Сообщения:
    514
    Симпатии:
    119
    Несколько часов работы и готов результат.
    Только прийдётся немного заменить значения на свои:
    GOLOS_OCHEN_PLOXO
    GOLOS_TAK_SEBE и другие ........


    {* Рейтинг - Сколько раз голосовали*}
    {if $product_info.customer_votes > 0}<br><br><center><table border="0" cellspacing="0" cellpadding="1"><tr>{section name=i loop=5}
    <td valign="middle" align="center">{if $smarty.section.i.index<$product_info.customers_rating}<img src="images/tmpl9_redstar.gif" class="reflect rheight51 ropacity37">{else}<img src="images/tmpl9_blackstar.gif" class="reflect rheight51 ropacity37">{/if}</td>{/section}</tr><tr><td colspan=5 align=center>({$smarty.const.VOTES_FOR_ITEM_STRING}: {$product_info.customer_votes})</td></tr>
    </table></center>{/if}


    {* Рейтинг - мы голосуем*}
    <center><table cellpadding="0" cellspacing="0"><tr><td colspan=5 align=center><table cellpadding="0" cellspacing="0"><tr><td><div>{if ($log ne "")}<script language="JavaScript">
    <!--
    function vote(score){literal}
    {

    var url = window.location.href;
    url += '&vote=yes&mark='+score;
    window.location = url;
    return false;
    }{/literal}
    -->
    </script><ul class="unit-rating" style="width:100px;">
    <li class="current-rating" style="width:100px;">&nbsp;</li>
    <li><a rel="nofollow" href='javascript:void(0)' onclick='javascript:vote("0.1");' title='{$smarty.const.GOLOS_OCHEN_PLOXO}' class="r1-unit rater">{$smarty.const.GOLOS_OCHEN_PLOXO}</a></li>
    <li><a rel="nofollow" href='javascript:void(0)' onclick='javascript:vote("1");' title='{$smarty.const.GOLOS_PLOXO}' class="r2-unit rater">{$smarty.const.GOLOS_PLOXO}</a></li>
    <li><a rel="nofollow" href='javascript:void(0)' onclick='javascript:vote("2.5");' title='{$smarty.const.GOLOS_TAK_SEBE}' class="r3-unit rater">{$smarty.const.GOLOS_TAK_SEBE}</a></li>
    <li><a rel="nofollow" href='javascript:void(0)' onclick='javascript:vote("3.8");' title='{$smarty.const.GOLOS_GOOD}' class="r4-unit rater">{$smarty.const.GOLOS_GOOD}</a></li>
    <li><a rel="nofollow" href='javascript:void(0)' onclick='javascript:vote("5");' title='{$smarty.const.GOLOS_EXCELLENT}' class="r5-unit rater">{$smarty.const.GOLOS_EXCELLENT}</a></li>
    </ul><div style="width: 100px;text-align: center;">{$smarty.const.VOTE_BUTTON}</div>

    {else}<p style="font-size: 90%; text-align: center;">{$smarty.const.VOTE_BUTTON_ON_REGISTER_PIOPLES}</p>{/if}
    </div></td></tr></table></td></tr></table></p></center>
    {* Рейтинг Конец - мы голосуем*}
     

    Вложения:

    • 7777.bmp
      Размер файла:
      45,1 КБ
      Просмотров:
      111
    mbiju, IRIDON, NARCOZ и 5 другим нравится это.
  3. Phoenix_666

    Phoenix_666

    Регистр.:
    27 дек 2007
    Сообщения:
    162
    Симпатии:
    31
    а разве рейтинг не включен по умолчанию в магазин?
     
  4. Hmelex

    Hmelex

    Регистр.:
    15 апр 2008
    Сообщения:
    514
    Симпатии:
    119
    Рейтинг то включен.
    Но стандартный уже всем немного поднадоел поэтому приходиться идти вслед за модой - новими технологиями, отображения и приподнесения информации.

    И вот что - мой ответ человеку был простой и лаконичный, а нго вопрос поставлен правильно. (Можно где-то найти модуль голосования за товар как в joomla? Там пять звезд при нажатии на определенную подсчитывается рейтинг).

    Как говориться - правильная формулировка вопроса - это уже половина готового ответа.
     
  5. biznesoft

    biznesoft

    Регистр.:
    11 фев 2008
    Сообщения:
    510
    Симпатии:
    128
    Можно также сделать следующее: "сколько раз товар пересмотрели" - взять из админ панели вытянуть, а?. И прилепить по близу рейтинга.
    Будет показывать количество просмотра товара.
     
  6. fbeyond

    fbeyond Создатель

    Регистр.:
    11 июн 2008
    Сообщения:
    31
    Симпатии:
    28
    Отличная идея. Сделаю модуль на днях и выложу.
     
  7. Dmytro_ua

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    Ковыряюсь целый день, но не получается впихнуть это дело в нужное место :( Напишите, пожалуйста, кто уже пробовал чуть подробнее...
     
  8. ndmitry

    ndmitry

    Регистр.:
    18 июн 2006
    Сообщения:
    980
    Симпатии:
    603
    Если не знаешь "куда впихнуть"
    GOLOS_OCHEN_PLOXO
    GOLOS_TAK_SEBE и другие ........
    то это очень просто...
    в файл languages/russin.php
    надо будет просто добавить куда-нибудь под строки вида:
    define('LINK_TO_HOMEPAGE', 'Главная');
    define('MORE_INFO_ON_PRODUCT', 'подробнее...');
    define('ENLARGE_PICTURE', 'увеличить...');

    по аналогии:
    define('GOLOS_OCHEN_PLOXO', 'Плохо');
    define('
    GOLOS_TAK_SEBE', 'Так себе');
    и так все остальные переменные, которые в выложенном
    Hmelex коде, отвечают за языковой вывод и чтобы не запутаться, имеют в начале "GOLOS".
    Надеюсь, принцип понятен...
     
    Dmytro_ua нравится это.
  9. Dmytro_ua

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    С этим вроде ясно. Сейчас все перепроверяю, видно где-то мой косяк.. Найду ошибку, отпишу

    Добавлено через 9 минут
    Что должно означать VOTE_BUTTON_ON_REGISTER_PI OPLES?

    Добавлено через 17 минут
    Все проверил, а все равно выдает ошибку


    Parse error: syntax error, unexpected T_STRING in /media/media1/home/***/domains/site***/public_html/templates_c/%%48^486^486732AC%%product_detailed.tpl.html.php on line 223
     
  10. Hmelex

    Hmelex

    Регистр.:
    15 апр 2008
    Сообщения:
    514
    Симпатии:
    119
    Незнаю почему у тебя ошибки, я проверила Все работает.

    Никаких скриптов больше нет.

    Попробуё вставить в твой стиль css


    .current-rating1{
    background: url('img9/star0000.gif') top left repeat-x;
    position: relative;
    width: 100px;
    height: 20px;
    }
    .current-rating1 div.current-rating1-back{
    background: url('img9/star0000.gif') top left repeat-x;
    position: absolute;
    width: 100px;
    z-index: 10;
    }
    .current-rating1 div.current-rating1-front{
    background: url('img9/star1000.gif') top left repeat-x;
    position: absolute;
    z-index: 20;
    }

    .unit-rating { /* the UL */
    list-style:none;
    margin: 0px;
    padding:0px;
    height: 20px;
    position: relative;
    background: url('img9/starvote.gif') top left repeat-x;
    }

    .unit-rating li{
    text-indent: -90000px;
    padding:0px;
    margin:0px;
    /*\*/
    float: left;
    /* */
    }

    .unit-rating li a {
    outline: none;
    display:block;
    width:20px;
    height: 20px;
    text-decoration: none;
    text-indent: -9000px;
    z-index: 20;
    position: absolute;
    padding: 0px;
    }

    .unit-rating li a:hover{
    background: url('img9/star1000.gif') left center;
    z-index: 2;
    left: 0px;
    }

    .unit-rating a.r1-unit{left: 0px;}
    .unit-rating a.r1-unit:hover{width:20px;}
    .unit-rating a.r2-unit{left:20px;}
    .unit-rating a.r2-unit:hover{width: 40px;}
    .unit-rating a.r3-unit{left: 40px;}
    .unit-rating a.r3-unit:hover{width: 60px;}
    .unit-rating a.r4-unit{left: 60px;}
    .unit-rating a.r4-unit:hover{width: 80px;}
    .unit-rating a.r5-unit{left: 80px;}
    .unit-rating a.r5-unit:hover{width: 100px;}

    .unit-rating li.current-rating {
    background: url('img9/starvote.gif') left bottom;
    position: absolute;
    height: 20px;
    display: block;
    text-indent: -9000px;
    z-index: 1;
    }
     
Статус темы:
Закрыта.