БЛОГОДЖУМЛА - БЛОГ О ДЖУМЛА

Цена товара в результатах поиска

  • Категория: Virtuemart 1
  • Автор:
  • Просмотров: 7006
 

Продолжаем дорабатывать 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; ?>

Тихо наслаждаемся результатом...

Back to top