Jump to content

Désactiver un override sur une page spécifique


jomcdonald

Recommended Posts

Bonjour,

Je suis face à un problème que je n'arrive pas à résoudre car trop compliqué pour moi.

J'ai un override du fichier StockAvailable.php mais je souhaiterais que cet override ne soit pas actif sur la page de sélection des transporteurs.

 

Si quelqu'un sait comment faire?

 

Merci

Link to comment
Share on other sites

Bonjour et merci pour l'astuce mais ça ne fonctionne pas.

J'ai mis en place ce code pour activer l'override si on se trouve sur une autre page que step 2:

if(Tools::getValue('step') != 2)

 

Mon but était de modifier le comportement du module date de livraison mais rien n'y fait.

Link to comment
Share on other sites

Voila son code:

 

public static function getQuantityAvailableByProduct($id_product = null, $id_product_attribute = null, $id_shop = null)
	{
		if(Tools::getValue('controller')=='AdminProducts') return parent::getQuantityAvailableByProduct($id_product, $id_product_attribute, $id_shop);
		
		$quantite_magasin=parent::getQuantityAvailableByProduct($id_product, $id_product_attribute, $id_shop);
		$quantite_total=$quantite_magasin;
		
		if(Configuration::get('megaimporter_STOCK_SUPPL'))
		{
			$query = new DbQuery();
			$query->select('SUM(megaimporter_stock)');
			$query->from('product_supplier');

			if ($id_product_attribute !== null)
				$query->where('id_product_attribute = '.(int)$id_product_attribute);
	
			if ($id_product)
				$query->where('id_product = '.(int)$id_product);

			$quantite_supplier = (int)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query);
			$quantite_total=$quantite_magasin+$quantite_supplier;
		}
		
		return $quantite_total;
	}
Link to comment
Share on other sites

En fait, je met en place un système avec stock magasin et stock fournisseur.

Au lieu de travailler avec le stock avancé, j'ai laissé le stock prestashop de base pour le magasin et j'ai créé des stock par fournisseur.

 

Du coup quand un produit est à 0 en stock magasin mais est dispo en stock fournisseur, il reste commandable.

 

Mais le souci c'est que le module date de livraison prend en compte le stock prestashop + le stock fournisseur pour calculer le délai de livraison, du coup mes délais sont faux puisque je souhaite définir des délais différents selon l'état du stock.

Stock prestashop = en stock

Stock fournisseur = hors stock

 

Merci

Link to comment
Share on other sites

Bon j'ai refais des test et ça marche avec le code

if( Tools:GetValue('step') == 2 ) {

La méthode overridée

} else {


La méthode d'origine

}

Donc merci beaucoup.

 

Il reste juste un petit bug quand un produit est en stock prestashop mais que j'en commande plus que ce qu'il y a, la date de livraison ne change pas alors que si je commande un produit hors stock là le délai change et correspond à la configuration du module date de livraison.

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...