"Сопутствующие товары" или "Вас, возможно, заинтересуют следующие товары"

VirtueMart 1.1.4

По умолчанию в карточке товара показывается 4 сопутствующих товара. Непорядочек, поправим. Будут показываться максимум 40 сопутствующих по 4 товара в строке.

1. Увеличиваем кол-во товаров в выборке:

в файлике /administrator/components/com_virtuemart/html/
меняем

// Let's have a look wether the product has related products.
$q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
$q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4";

на

// Let's have a look wether the product has related products.
$q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
$q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 40";

2. Допиливаем вывод:

в файлике /components/com_virtuemart/themes/default/templates/common/relatedProducts.tpl.php

меняем

    while( $products->next_record() ) { ?>
      	<td valign="top"><div class="virt_stuff">
      		<?php echo $ps_product->product_snapshot( $products->f('product_sku') ) ?>
      	</td></div>
	<?php 
    }

на

	$i = 0;
	while( $products->next_record() ) { ?>
		<td valign="top"><div class="virt_stuff">
      			<?php echo $ps_product->product_snapshot( $products->f('product_sku') ) ?>
			<?php $i++;
			    if (($i)%4==0) { 
				echo "</tr><tr>";
			     } ?>
		</td></div>
	<?php } ?>
  • software/virtuemart/hacks/addon_items.txt
  • Последнее изменение: 2017/05/09 18:34
  • 127.0.0.1