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

Вывод производителя в письме с заказом

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

Продолжаем делать казалось бы очевидные вещи. 

Добавим название производителя к каждому товару в письмо с заказом. Это нужно не покупателю. Это нужно продавцу - чтобы быстрее собрать заказ:

открываем \administrator\components\com_virtuemart\classes\ps_checkout.php и в районе 1836 строки меняем запрос


	$q_oi = "SELECT * FROM #__{vm}_product, #__{vm}_order_item, #__{vm}_orders ";

	$q_oi .= "WHERE #__{vm}_product.product_id=#__{vm}_order_item.product_id ";

	$q_oi .= "AND #__{vm}_order_item.order_id='$order_id' ";

	 $q_oi .= "AND #__{vm}_orders.order_id=#__{vm}_order_item.order_id ";

на


	$q_oi = "SELECT * FROM #__{vm}_product, #__{vm}_order_item, #__{vm}_orders, #__{vm}_manufacturer, #__{vm}_product_mf_xref ";

	$q_oi .= "WHERE #__{vm}_product.product_id=#__{vm}_order_item.product_id ";

	$q_oi .= "AND #__{vm}_order_item.order_id='$order_id' ";

	$q_oi .= "AND #__{vm}_orders.order_id=#__{vm}_order_item.order_id ";

	$q_oi .= "AND #__{vm}_manufacturer.manufacturer_id=#__{vm}_product_mf_xref.manufacturer_id ";

	$q_oi .= "AND #__{vm}_product.product_id=#__{vm}_product_mf_xref.product_id ";

закрываем, сохраняем. Данные подготовили. Теперь открываем шаблон письма 

\components\com_virtuemart\themes\default\templates\order_emails\confirmation_email.tpl.php

и где-то в районе 182 строки находим 


	<td><?php $dboi->p("product_name")?> <?php echo ($dboi->f("product_attribute") ? ' ('.$dboi->f("product_attribute").')' : ''); ?></td>

и меняем на


	<td><?php $dboi->p("product_name")?> <?php echo ($dboi->f("product_attribute") ? ' ('.$dboi->f("product_attribute").')' : ''); ?><br/><?php $dboi->p("mf_name")?> </td>

всё.

P.S. Может быть другое решение:

 

	<?php

	$manufacturer_name = $ps_product->get_mf_name($dboi->f("product_id"));

	echo $manufacturer_name;

	?>

	

Почему первое решение сложнее? Привычка оптимизировать запросы. Все данные по возможности должны быть выдернуты одним запросом (имхо). В первом решении количество запросов не увеличивается. Во втором - количество запросов увеличивается на количество строк в заказе. Согласен, что в случае с заказами эта экономия некритична. Хотя в последнем оптовом ювелирном магазине Goldnews.ru количество позиций в заказе может быть больше сотни.

Back to top