mitsi2011 Posted July 28, 2017 Share Posted July 28, 2017 Bonjour, Je veux appeler getAttributeCombinaisons dans Product.php mais chaque fois j'ai une erreur. Pour info, j'ai testé : Product::getAttributeCombinaisons() $this->getAttributeCombinaisons() Votre aide svp. Merci Link to comment Share on other sites More sharing options...
coeos.pro Posted July 28, 2017 Share Posted July 28, 2017 mais chaque fois j'ai une erreur. qui est... Link to comment Share on other sites More sharing options...
mitsi2011 Posted July 28, 2017 Author Share Posted July 28, 2017 $product_attrbiute_ids = array(); foreach (Product::getAttributeCombinaisons($id_lang) as $product_attribute_id) { array_push($product_attrbiute_ids, $product_attribute_id['id_product_attribute']); } => Strict Standards: Non-static method ProductCore::getAttributeCombinaisons() should not be called statically in shop\classes\Product.php on line 4351 Link to comment Share on other sites More sharing options...
Matt K. Posted July 31, 2017 Share Posted July 31, 2017 Salut, getAttributeCombinaisons n'est pas une méthode static donc tu ne peux pas l'appeler comme ça. Il te faut un objet Product. Si tu es dans la classe Product, $this->getAttributeCombinaisons($id_lang) devrait marcher ou alors, tu as une autre erreur. Bon courage. Link to comment Share on other sites More sharing options...
mitsi2011 Posted August 18, 2017 Author Share Posted August 18, 2017 Merci pour la réponse. Désolé pour le retard, mais j'étais en vacances. alors ce que j'essai de faire c'est ceci : j'ai pris le code du module BlockPriceRange que je veux implémenter directement dans Product.php. avec BlockPriceRange ça fonctionne bien mais pas comme je veux. Dans son code, j'ai ceci : private function getAttributePrices($params) { $product = $params['prod_obj']; $product_attrbiute_ids = array(); foreach ($product->getAttributeCombinations() as $product_attribute_id) { array_push($product_attrbiute_ids, $product_attribute_id['id_product_attribute']); } Je l'ai changé, dans Product.php du Core pour tester en : $product_attrbiute_ids = array(); foreach ($this->getAttributeCombinaisons($id_lang) as $product_attribute_id) { array_push($product_attrbiute_ids, $product_attribute_id['id_product_attribute']); } Résultat : Fatal error: Using $this when not in object context in ...\shop\classes\Product.php on line 4368 Link to comment Share on other sites More sharing options...
Matt K. Posted August 18, 2017 Share Posted August 18, 2017 Salut, Tu peux pas utiliser "$this" dans une méthode static. Si je me trompe pas tu travailles dans la méthode getProductProperties De plus, j'ai remarqué que l'utilisation de $this->getAttributeCombinaisons($id_lang) est déprécié depuis la 1.5.0.10. Essaye plutôt Product::deleteAttributeCombinaison($id_lang) à la place de $this->getAttributeCombinaisons($id_lang). Link to comment Share on other sites More sharing options...
mitsi2011 Posted August 24, 2017 Author Share Posted August 24, 2017 Bonsoir, deleteAttributeCombinaison c'est pour supprimer ? moi je veux les récupérer pour calculer le moins cher. Link to comment Share on other sites More sharing options...
Matt K. Posted August 25, 2017 Share Posted August 25, 2017 Salut, Pardon, je voulais mettre getAttributeCombinaisons Link to comment Share on other sites More sharing options...
mitsi2011 Posted August 27, 2017 Author Share Posted August 27, 2017 Bonjour, Il me fait la même erreur. Solution, j ai pris le contenu de getAttributeCombinaisons et je l ai fais dans ma méthode et ça fonctionne. Merci encore Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now