Bonsoir,
Merci. J'ai trouvé une bien meilleure façon de gérer cela avec ce code:
$query = 'SELECT pr.product_id'.
' FROM '.hikashop_table('product_related').' AS pr '.
' INNER JOIN '.hikashop_table('product').' AS p ON pr.product_related_id = p.product_id '.
' WHERE pr.product_related_type = ' . $this->db->Quote('bundle') . ' AND (p.product_quantity = 0 OR p.product_quantity < pr.product_related_quantity)';
$database->setQuery($query);
$out_of_stock_bundled_products = $database->loadObjectList('product_id');
if(!empty($out_of_stock_bundled_products) && count($out_of_stock_bundled_products)) {
$filters[]=' b.product_id NOT IN ('.implode(',', array_keys($out_of_stock_bundled_products)).')';
}
au lieu du code d'avant.
Cela allège beaucoup la requête de chargement des produits, et cela fonctionne bien mieux. Cela prend même en compte les cas plus complexes quand par exemple le stock d'un produit en bundle est de 1 alors qu'il y en a 2 dans le pack.
J'ai mis ce code sur votre site avec l'accès FTP que vous avez fourni et cela à l'air de bien marcher.
Nous allons pouvoir inclure cette modification de notre coté pour la prochaine version d'HikaShop.