Перейти к содержимому


Фотография
- - - - -

Элемент "Рейтинг". Как изменить?

рейтинг rating

Лучший Ответ lexxbond99 , 15 December 2016 - 20:05

РЕШЕНО!

Загвоздка оказалась как всегда в неожиданном месте.
1. делаем .vote-message и .rating-container :float:left;

А не сработало это потому что вывод элементов рейтинга был оформлен стилем вывода элементов как Pipe , т.е. через разделитель |

Это оборачивало элементы в строчные тэги span, наверное поэтому флоаты звезд не срабатывали. Подсмотрел на демо сайте, там к обертке рейтинга применено свойство .rating {display:inline-block;} в итоге всё встало в строку, можно по центру, только звезды улетят чуть выше строки, лечится минусовым паддингом.

2 и 3. с переменными разобрался: 'rating %s vote' : 'rating %s votes' - это 2 переменные, которые описаны в файле русификации Zoo, причем первая из них отсутствует, поэтому просто дописываем, не забываем перекодировать из Win в UTF. Также чтобы не маячало слово "оценка", её так же убираем в этом файле русификации, там переменная не совсем красиво задана: "оценка (%s голосов)", заменил на рейтинг (%s голосов) .

Перейти к сообщению


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 lexxbond99

lexxbond99

Отправлено 15 December 2016 - 13:39

Подскажите пожалуйста как подправить вывод элемента рейтинг?:

1. сделать звезды и надпись голосов по центру дива в одной строчке. По умолчанию звезды прикрепились к левому краю, а надпись с оценками по центру, но строчкой ниже. allign="center" к диву со звездами эффекта не даёт, так же как и css text-align:center.

 
По умолчанию class="rating-container star5" и class="vote-message" не описаны и ничего не забивают.
 
Если задать надписи flign:left, то звезды и надпись появляются на одной строчке как нужно, но надпись далеко от звезд. class="yoo-zoo rating" имеет width: 100px, что отодвигает надпись от звезд на эту ширину и не позволяет сделать всё аккуратно рядом, изменяя эту ширину, заливка звезд начинает двигаться.
 

 

2. Нужно убрать в надписи оценки и оставить только кол-во голосов.

Нашел в файле rating.php такую запись

<?php echo $rating.'/<strong>'.$stars.'</strong> '.JText::sprintf($votes == 1 ? 'rating %s vote' : 'rating %s votes', $votes); ?>

и укоротил на

<?php echo JText::sprintf($votes == 1 ? 'rating %s vote' : 'rating %s votes', $votes); ?>

но в итоге выводится "оценка (0 голосов) ", а нужно просто "0 голосов".

 

3. При голосовании и обновлении страницы надпись меняется на "rating 1 vote". А нужно "1 голос" или пусть даже"1 голосов"

 

 

Элементарная задача, но бьюсь уже 2-й день.



#2 lexxbond99

lexxbond99

Отправлено 15 December 2016 - 20:05   Лучший Ответ

РЕШЕНО!

Загвоздка оказалась как всегда в неожиданном месте.
1. делаем .vote-message и .rating-container :float:left;

А не сработало это потому что вывод элементов рейтинга был оформлен стилем вывода элементов как Pipe , т.е. через разделитель |

Это оборачивало элементы в строчные тэги span, наверное поэтому флоаты звезд не срабатывали. Подсмотрел на демо сайте, там к обертке рейтинга применено свойство .rating {display:inline-block;} в итоге всё встало в строку, можно по центру, только звезды улетят чуть выше строки, лечится минусовым паддингом.

2 и 3. с переменными разобрался: 'rating %s vote' : 'rating %s votes' - это 2 переменные, которые описаны в файле русификации Zoo, причем первая из них отсутствует, поэтому просто дописываем, не забываем перекодировать из Win в UTF. Также чтобы не маячало слово "оценка", её так же убираем в этом файле русификации, там переменная не совсем красиво задана: "оценка (%s голосов)", заменил на рейтинг (%s голосов) .







Темы с аналогичным тегами рейтинг, rating

Click to return to top of page in style!