Récemment
-
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2 -
PaypalAPI erreur
PhenixSuite53 -
Problèmes de prix avec plusieurs devises et PayPal
PhenixSuite6 -
Solutions de paiement...
Discussion générale5 -
Petit code pour les descriptions de produits
Discussion générale3 -
Feuilles de styles non chargées si smart cache activé [RÉSOLU]
PhenixSuite5 -
PayPal Module Error
Bugs & Améliorations2 -
Transient Bug after 1.6.2.31 Upgrade
Bugs & Améliorations2 -
blockcategory et left_column
BUG connus1 -
[REGLÉ] override - je n'y arrive pas.
Modules10 -
les routes sur mesures
Discussion générale6 -
Nouvelle attaque ?
Discussion générale11 -
Problème calcul HT
Bugs & Améliorations42 -
Erreur sur facture générée depuis le FO
PhenixSuite3 -
Factures ne se génèrent plus depuis 06/12 [RÉSOLU]
Bugs & Améliorations20 -
Edition en masse des déclinaisons
Nouvelles fonctionnalités4 -
Mise à niveau de Prestashop 1.6.24 vers PhenixSuite 1.6.30
Discussion générale2 -
Thème possible
Questions relatives à l'installation/upgrade2
[1.5.x],[1.6.x],[1.7.x] Pas de redirection canonical pour page manufacturer & supplier
-
Lorsque vous effectuez une redirection /index.php?controller=manufactuer|supplier (sans id), aucune redirection canonique n'est prise en compte.
Ex:
https://domain.tld/marques => mène à la liste des manufacturer (marques)
https://domain.tld/index.php?controller=manufacturer => mène à la liste des manufacturer (marques)Aucun redirection canonique n'intervient dans le second cas
Seul le cas lorsqu'un id est fourni est implanté dans les contrôleurs.
Remplacer dans ManufacturerController.php:public function canonicalRedirection($canonicalURL = '') { if (Tools::getValue('live_edit')) { return; } if (Validate::isLoadedObject($this->manufacturer)) { parent::canonicalRedirection($this->context->link->getManufacturerLink($this->manufacturer)); } }
par
public function canonicalRedirection($canonicalURL = '') { if (Tools::getValue('live_edit')) { return; } if (!Validate::isLoadedObject($this->manufacturer) && (int)Tools::getValue('id_manufacturer')) { $this->manufacturer = new Manufacturer((int)Tools::getValue('id_manufacturer'), $this->context->language->id); } if (Validate::isLoadedObject($this->manufacturer)) { return parent::canonicalRedirection($this->context->link->getManufacturerLink($this->manufacturer)); } parent::canonicalRedirection($canonicalURL); }
-
Comme ces 2 là font toujours la paire, la même ligne est à ajouter dans SupplierController.php ;)
public function canonicalRedirection($canonicalURL = '') { if (Tools::getValue('live_edit')) { return; } if (!Validate::isLoadedObject($this->supplierr) && (int)Tools::getValue('id_supplier')) { $this->supplier = new Supplier((int)Tools::getValue('id_supplier'), $this->context->language->id); } if (Validate::isLoadedObject($this->supplier)) { parent::canonicalRedirection($this->context->link->getSupplierLink($this->supplier)); } parent::canonicalRedirection($canonicalURL); }
-
@eolia au temps pour moi je pensais que le titre était suffisamment clair (manufacturer et supplier)
-
Attention il y a eu une grosse coquille dans le code publié plus tôt.
Il est maintenant corrigé mais pensez à le vérifier si vous avez appliqué le patch précédemment