Форум русской поддержки Joomla!® CMS
08.12.2016, 13:59:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Замена звёздочек рейтинга на карточке товара

 (Прочитано 689 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« : 21.04.2015, 14:11:21 »

Всем привет!
Задался вопросом изменения внешнего вида звёздочек рейтинга на карточке товара.
Подумал, что нужно бы просто заменить стандартную картинку (/components/com_jshopping/images/stars.gif)...заменил на аналогичную (только по-красивее)...в результате получил вывод бесконечного количества пустых звёздочек (для товара без рейтинга соответственно).
Научите пожалуйста, как правильно сделать?
Может есть какие то требования к файлу картинки?
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #1 : 21.04.2015, 14:33:23 »

ну как есть, да, естьно не требования а подход просто.
это картинка спрайт.
надо те же размеры соблюдать. всей картинки и позиции каждого ее элемента. в общем 1:1.

ну или изменять цсс и скрипт смотреть.
Записан
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #2 : 21.04.2015, 15:25:58 »

надо те же размеры соблюдать. всей картинки и позиции каждого ее элемента. в общем 1:1.
это вряд ли получится...
ну или изменять CSS и скрипт смотреть.
а в этом случае как действовать подскажете?
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #3 : 21.04.2015, 17:00:12 »

погуглите sprite CSS
Записан
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #4 : 21.04.2015, 17:08:23 »

ок, спасибо
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 661



« Ответ #5 : 21.04.2015, 17:10:40 »

Можно ещё перекрасить Azn
Записан
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #6 : 21.04.2015, 17:16:57 »

Можно ещё перекрасить Azn
пробовал, но как то криво получается)
Записан
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #7 : 21.04.2015, 18:27:24 »

почитал, понял, что для меня это пока сложно
на данном этапе могу лишь попросить, что если вдруг кто то это уже делал и есть время/желание показать как конкретно это делается, буду признателен.
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #8 : 21.04.2015, 19:20:34 »

сделайте картинку, это проще.
возьмите 1 звезду и потом просто размножите их... в полосе..

в общем работа графическая больше чем кодинговая
Записан
Mesk911
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #9 : 22.04.2015, 13:43:39 »

всё сделал через картинку (пришлось поковыряться в фотошопе, конечно, но результат того стоил), всем спасибо за помощь


Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #10 : 28.09.2015, 01:50:41 »

Здравствуйте,
вопрос

Задача изменить размер звездочек рейтинга
прописать CSS и сделать спрайт  - не проблема

А где задается ширина блоков?

Код
<div class="stars_no_active" style="width:80px">
 <div class="stars_active" style="width:64px"></div>
</div>

Задается скриптом, и не явно а вычисляется (я так думаю)

В скрипте jquery.rating.pack.js в функции fn.rating указано значение параметра по умолчанию:

starWidth: 16

Пытался менять - ничего не меняется. Или функция где-то вызывается с другим параметром, или не там ищу ...

Подскажите, плз, где искать
Спасибо)
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #11 : 28.09.2015, 02:19:55 »

Цитировать
if(typeof control.split=='number' && control.split>0){
   var stw = ($.fn.width ? star.width() : 0) || control.starWidth;
   stw = 16;//width star
   var spi = (control.count % control.split), spw = Math.floor(stw/control.split);

   star
   // restrict star's width and hide overflow (already in CSS)
   .width(spw)
   // move the star left by using a negative margin
   // this is work-around to IE's stupid box model (position:relative doesn't work)
   .find('a').css({ 'margin-left':'-'+ (spi*spw) +'px' })
};
не оно?
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #12 : 28.09.2015, 02:27:20 »

и здесь менял - не помогает
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #13 : 28.09.2015, 02:43:30 »

кеш?
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #14 : 28.09.2015, 02:49:03 »

нет. чистил везде. на сайте - отключено
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #15 : 28.09.2015, 03:06:29 »

плохо чистили Azn
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #16 : 28.09.2015, 12:46:21 »

плохо чистили Azn
Это было бы здорово )
Но чистил хорошо. Даже комп перезагрузил
Ничего не меняется (((

Чувствую себя идиотом - не могу поменять размер звездочек ...
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #17 : 28.09.2015, 13:00:06 »

мы видимо о разных звездочках Azn вы же сказали о скрипте - я вам про скрипт и отвечаю. скрипт - это для того чтобы установить рейтинг. а вы видимо имеете в виду просто показ рейтинга. это в functions.php function showMarkStar
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #18 : 28.09.2015, 14:27:22 »

... это в functions.php function showMarkStar

Ура!
То что нужно Azn
Чтобы не хакать ядро и не затрагивать отзывы:
Скопировал к себе в ratingandhits.php,
переименовал,
заменил 2 цифры

Все работае!

dmitry_stas, спасибо!
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #19 : 28.09.2015, 14:53:17 »

Чтобы не хакать ядро и не затрагивать отзывы:

магия php Azn
Код:
$jshopConfig = JSFactory::getConfig();
$k = 2; //коэффициент увеличения размера звезды
$jshopConfig->rating_starparts /= $k;
echo showMarkStar(оценка);
$jshopConfig->rating_starparts *= $k;
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #20 : 28.09.2015, 15:03:55 »

тоже вариант)
спасибо!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet