2013-07-11 50 views

回答

1

您有幾種方法可以實現這一目標,但就性能而言,它主要取決於目錄的大小。

這是寫在SQL的例子,這將是非常快的,並且確保所選擇的產品有活躍:

$products_categories = Db::getInstance()->ExecuteS(' 
SELECT cp.id_product, pl.name product_name 
FROM '._DB_PREFIX_.'category_product cp 
LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category) 
LEFT JOIN '._DB_PREFIX_.'product p ON (p.id_product = cp.id_product) 
LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = p.id_product) 
WHERE cp.id_category = 3 AND p.active = 1 AND c.active = 1 and pl.id_lang = 1 AND cp.id_product IN (SELECT id_product FROM '._DB_PREFIX_.'category_product WHERE id_category = 8)'); 
+0

啊OK,子查詢。 Yess,可以。我從來沒有考慮過,因爲我在SQL中不太聰明:P謝謝! 然後呢?我對prestashop相當陌生,因此很多擔心都在我腦海中旋轉。我流浪了,你的意思是我會建立一個新的控制器並將$ products_categories傳遞給$ smarty?這將是非常簡單的,但它會是安全的,隨後的行動(例如添加到購物車的產品,進一步過濾塊狀模塊等)。我的意思是,這是一種常見的做法嗎? – Stratboy

相關問題