Добрый день!
Вопрос такой
Как сделать рейтинг товара в разделе категорий?
Есть список категорий - название, изображение, краткое описание и тд.
А вот рейтинг товара, звёздочки не получается вывести. В карточке товара рейтинг есть.
Код отвечающий за его вывод в карточке товара, я переношу в раздел категорий, в строку товара и там он перестаёт работать.
<?php
if ($this->showRating) {
$maxrating = VmConfig::get('vm_maximum_rating_scale', 5);
if (empty($this->rating)) {
?>
<span class="vote"><?php echo JText::_('COM_VIRTUEMART_RATING'). ' ' . JText::_('COM_VIRTUEMART_UNRATED')?></span>
<?php
} else {
$ratingwidth = $this->rating->rating * 24; //I don't use round as percetntage with works perfect, as for me
?>
<span class="vote">
<?php echo JText::_('COM_VIRTUEMART_RATING'). ' ' . round($this->rating->rating). '/' . $maxrating; ?><br/>
<span title=" <?php echo (JText::_("COM_VIRTUEMART_RATING_TITLE"). round($this->rating->rating). '/' . $maxrating)?>" class="ratingbox" style="display:inline-block;">
<span class="stars-orange" style="width:<?php echo $ratingwidth.'px'; ?>">
</span>
</span>
</span>
<?php
}
}
Конструкция $this->rating не очень понятно как работает. Я вроде просмотрел оба файла, там нет никакого обозначения класса для php.
Всё практически идентично, только в одном файле вызов значения поля raiting из БД работает, а в другом нет.
И не понятно $this->rating-> rating - это что за конструкция?
$this->rating - я так понял обращается к полю rating таблицы _virtuemart_ratings?
Но где определяется сама эта таблица, в этих файлах не нашёл.
А к чему обращается конструкция $this->rating-> rating?
Из неё получается размер span под звёздочки проголосовавших. Но куда она обращается, что берёт не понятно.
Какой-то дополнительный уровень? Какой? Таблица - есть таблица, она же двумерная.
Файл для категорий www/components/com_virtuemart/views/category/tmpl/default.php
Файл для карточки товара www/components/com_virtuemart/views/productdetails/tmpl/default.php
Буду благодарен за конструктивный ответ, в Google не нашёл ответа