Продолжаем дорабатывать Virtuemart - добавлять казалось бы очевидные фишки.
Сегодня устраним ещё одно безобразие - отсутствие цены товара в результатах поиска. Благодаря нашим манипуляциям выдача будет выглядеть как-то так:
Сначала нам необходимо получить цену - открываем файл плагина поиска Virtuemart
/plugins/search/vmxsearch.plugin.php
где-то в районе 130 строки видим формирование запроса. Меняем
$query = "SELECT DISTINCT p.product_id, p.product_name as title,
на
$query = "SELECT DISTINCT p.product_id, p.product_name as title, pr.product_price as price,
и после
LEFT JOIN #__vm_product_reviews r ON (r.product_id = p.product_id)
добавляем
LEFT JOIN #__vm_product_price pr ON (pr.product_id = p.product_id)
Закрываем, сохраняем.
Всё. Цену получили. Теперь займемся шаблоном вывода.
Открываем /components/com_search/views/search/tmpl/default_results.php
либо, если у Вас кастомизированный шаблон вывода результатаов поиска -
/templates/Ваш_шаблон/html/com_search/search/default_results.php
и, например после
if ( $result->href ) : ?> </a> <?php endif;
вставляем нашу цену:
<?php if (isset($result->price) && $result->price != '' && $result->price != '0.00000') : ?> <b> - <?php echo round($this->escape($result->price),0); ?> руб. </b> <?php endif; ?>
Тихо наслаждаемся результатом...