Хак: рейтинг товара Virtuemart + Jommla 1.5


Первым делом нужно скачать сам плагин, лучше всего сделать это на официальном сайте. (зеркало extravote_15)

Далее, устанавливаем его на cms Joomla, где есть магазин или каталог на Virtuemart, не забудьте опубликовать плагин после установки.

Затем нужно проделать несколько несложных шагов:

1) В административной панели Joomla, в верхнем меню зайти в “Компоненты->virtuemart“, перейти в пункт меню “Настройки“, после этого вы окажетесь во вкладке “Общие настройки“, на этой странице нужно найти настройку с таким названием: “Разрешить использование мамботов / плагинов в описании товара и категории?” поставьте галочку напротив этого текста и нажмите “Сохранить“, в правом верхнем углу.

ПОЛЕЗНО  Выводим доп.поля в админке в Product list

2) Зайдите в папку с плагинами “plugins/content/” и откройте файл “extravote.php“. Найдите функцию “onPrepareContent” и в начале вставьте следующий код:


if(!isset($article->id))
 {
 $regex = "#{extravote\s*([0-9]+)}#s";
 $article->id = preg_replace_callback( $regex, array($this,'plgGetProductId'), $article->text );
 }

Также, в этом же файле выше добавьте новую функцию, которая выглядит вот так:

function plgGetProductId(&$matches)
{
 $id = (int)$matches[1];
 return $id;
}

Теперь в шаблоне товара “Flypage” или тот, который используется у вас, нужно вставить следующий код в месте, где вы хотите сделать вывод рейтинга:

<?php
$product_rating = JHTML::_('content.prepare', '{extravote '.$product_id.'}');
echo $product_rating;
?>

3) Скопируйте содержимое  файла exravote.php в “extravote/backup.php

UPD:

Чтобы вывести в шаблоне browse рейтинг через стандартную переменную $product_rating , нужно в файле по пути “administrator/components/com_virtuemart/html/shop.browse.php” найти

$product_rating = ps_reviews::allvotes( $db_browse->f('product_id') );

и заменить на

$product_rating = JHTML::_('content.prepare', '{extravote '.$db_browse->f("product_id").'}');

источник