Frénésie Posted June 12, 2014 Share Posted June 12, 2014 (edited) Bonjour à tous !Je vous soumets ici deux problèmes que je rencontre actuellement sur ma boutique Prestashop. Premièrement l'URL Rewriting ne fonctionne pas pour les fiches produits, voici ce que contient mon champ Route vers les produits : {category:/}{rewrite}-p-{id}.html et voici un exemple d'url générée : http://monsite.fr/fr/accessoires-baladeurs/iPodTest-p-8190-p-8190.html J'ai donc 2 fois la règle p-{id} qui est appliquée. J'ai ré-indexé toute ma base de produits mais cela n'a rien changé. Deuxièmement je ne peux pas accéder aux produits (cette erreur n'est pas liée à celle du dessus car elle est apparue bien après), un screenshot de la page est en pièce jointe avec la stack trace EDIT : L'erreur qui m'indique une adresse invalide se produit uniquement lorsque je suis connecté, pour les utilisateurs non connectés il n'y a aucune erreur. Je ne comprends pas pourquoi lorsque je charge une fiche produit le ProductController essaie de trouver le prix de l'écotaxe alors que celle-ci n'est pas activée dans le panneau d'administration. De plus j'ai l'impression que le montant de l'écotaxe est basé sur l'adresse de livraison du client donc comment le ProductController pourrait calculer un montant si aucune adresse n'est renseignée (sachant que le client n'est pas obligé de renseigner une adresse pour créer sont compte). Si vous avez un petit coup de pouce pour m'éclairer je vous en serais reconnaissant Cordialement Edited June 13, 2014 by Frénésie (see edit history) Link to comment Share on other sites More sharing options...
Frénésie Posted June 13, 2014 Author Share Posted June 13, 2014 (edited) J'ai trouvé une solution pour le problème d'adresse invalide, j'ai modifié la ligne 303 du ProductController.php $ecotax_rate = (float)Tax::getProductEcotaxRate($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); par $ecotax_rate = (float)Tax::getProductEcotaxRate(new Address((int)$this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')})); ainsi que la fonction getProductEcotaxRate de la classe Tax.php public static function getProductEcotaxRate($id_address = null) { $address = Address::initialize($id_address); $tax_manager = TaxManagerFactory::getManager($address, (int)Configuration::get('PS_ECOTAX_TAX_RULES_GROUP_ID')); $tax_calculator = $tax_manager->getTaxCalculator(); return $tax_calculator->getTotalRate(); } par public static function getProductEcotaxRate(Address $address = null) { if (!$address || !$address->id_country) $address = Address::initialize(); $tax_manager = TaxManagerFactory::getManager($address, (int)Configuration::get('PS_ECOTAX_TAX_RULES_GROUP_ID')); $tax_calculator = $tax_manager->getTaxCalculator(); return $tax_calculator->getTotalRate(); } Edited June 13, 2014 by Frénésie (see edit history) 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