Produit pas en stock sur certains résultats de recherche et en stock sur d'autre

  • Posts: 113
  • Thank you received: 9
  • Hikashop Business
1 year 1 month ago #349957

Bonjour, Nous venons d'essayer mais cela ne semble pas suffire.
La query proposée avait une petite coquille :

'.$filter->filter_namekey.$i.'_2.product_quantity==NULL

Voici le code mis en place :
if($filter->filter_type=='instockcheckbox' && $infoGet[0]=='in_stock'){
	$filters[]=' b.product_quantity!=0';
	$on.=' LEFT JOIN #__hikashop_product_related AS '.$filter->filter_namekey.$i.' ON '.$filter->filter_namekey.$i.'.product_id=b.product_id AND  '.$filter->filter_namekey.$i.'.product_related_type = \'bundle\' LEFT JOIN #__hikashop_product AS  '.$filter->filter_namekey.$i.'_2 ON '.$filter->filter_namekey.$i.'_2.product_id = '.$filter->filter_namekey.$i.'.product_related_id';
	$filters[]=' ('.$filter->filter_namekey.$i.'_2.product_quantity = NULL OR '.$filter->filter_namekey.$i.'_2.product_quantity!=0 )';
	return true;
}

Cela ne fonctionne pas :


Merci d'avance pour l'aide.

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
1 year 1 month ago #349959

Cela me semble bien pourtant. Il faudrait regarder le détails de la configuration d'un de ces produits et des produits en bundle dedans.
Pourriez-vous fournir des captures ?

Please Log in or Create an account to join the conversation.

  • Posts: 113
  • Thank you received: 9
  • Hikashop Business
1 year 1 month ago #349968

Alors oui pas de problème

Le produit principal :


Les produits en bundle :


Le détails des produits en bundle :


Et le dernier (qui est celui qui n'est plus en stock)



Merci d'avance.

Please Log in or Create an account to join the conversation.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
1 year 1 month ago #349972

Bonjour,

Serait-il possible d'avoir l'URL de la page en question et un accès FTP pour étudier la question ?

Please Log in or Create an account to join the conversation.

  • Posts: 113
  • Thank you received: 9
  • Hikashop Business
1 year 1 month ago #349993

OUi je vous envoie ceci dans quelques instants

Please Log in or Create an account to join the conversation.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
1 year 1 month ago #350006

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.

Please Log in or Create an account to join the conversation.

  • Posts: 113
  • Thank you received: 9
  • Hikashop Business
1 year 1 month ago #350054

C'est merveilleux! Un énorme MERCI pour tout le travail abattu! ;)
Bonne semaine!

Please Log in or Create an account to join the conversation.

Time to create page: 0.091 seconds
Powered by Kunena Forum