Всем привет. Вот рабочий код модуля, который выводит в отдельной вкладке, в карточке товара, похожие товары по тегу и сортирует их по количеству продаж (по убыванию), но показывает только те товары у которых есть продажи, а у которых продаж нету не показывает. Как сделать так, чтобы выводились не только товары с одной и более продажей, но и те которые не продавались. Где в этом коде такое ограничение? Спасибо!
<id>Automatic Relate</id>
<version>1.0.1</version>
<vqmver>2.1</vqmver>
<author>Palcet</author>
<file name="catalog/model/catalog/product.php">
<operation>
<search position="after">
<![CDATA[
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
]]>
</search>
<add>
<![CDATA[
if($query->num_rows==0)
{
$sql=" SELECT DISTINCT * , p.product_id AS related_id, op.product_id, COUNT(*) AS all_total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN " . DB_PREFIX . "product p ON ( p.product_id = op.product_id )
LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON ( p.product_id = p2s.product_id )
WHERE p.product_id
IN (
SELECT product_id
FROM " . DB_PREFIX . "product_tag
WHERE tag
IN (
SELECT tag
FROM " . DB_PREFIX . "product_tag
WHERE product_id=".(int)$product_id."
)
)
AND p.status = '1'
AND p.date_available <= NOW( )
AND p2s.store_id='" . (int)$this->config->get('config_store_id') . "'
AND p.product_id<>".(int)$product_id."
GROUP BY op.product_id ORDER BY all_total DESC LIMIT 100";
$query = $this->db->query($sql);
}
]]>
</add>
</operation>
</file>