Jump to content
nbonniot

Problème suite à suppression des fichiers override par défaut

Recommended Posts

Bonjour,

 

Je reviens poster un billet sur le même sujet que mon dernier post, à savoir la disparition des fichiers override par défaut pour toutes les classes depuis la version 1.5.4.0. Dans mon dernier post, je faisais remarquer que je trouvais que ça générait une perte de sens, notamment dans le fait que l'on doit à présent piocher entre les Nom_de_classeCore et les Nom_de_classe.

 

Je viens de me heurter à un souci sur lequel je voudrais votre avis :

  1. 1. J'ai modifié un tunnel de paiement pour une boutique en cours, en supprimant notamment la step d'adresse qui n'est pas nécessaire pour cette application (les adresses ne sont pas utilisées, il n'y a pas de livraison, mais des retraits en magasin. J'utilise les transporteurs pour créer les différents points de retrait). J'ai juste changé le lien "suivant" sur le panier en modifiant le "step=1" en "step=2" pour passer directement aux transporteurs.
  2. 2. En local avec WAMP, pas de souci.
  3. 3. Déployé sur une préprod, (mutualisé OVH), j'obtiens en arrivant sur ladite page "Cannot redeclare CMS Class on line 220. La ligne en question est la parenthèse fermante de la classe, ce qui signifie apriori que l'erreur est levée juste après un include.
  4. 4. Avec un pas-à-pas sous Xdebug en local, j'arrive sur la méthode protégée _assignWrappingAndTOS() du ParentOrderController. Et là : 
$cms = new CMS(Configuration::get('PS_CONDITIONS_CMS_ID'), $this->context->language->id);

Du coup, je créée bêtement le fichier CMS.php dans /override/classes/ et créée une classe de surcharge totalement vide (comme c'était avant) :

class CMS extends CMSCore
{
	
}

Et là, tout roule... Je peux récupérer le lien vers mes CGV, et la page se charge sans encombre.

 

Sauf que voilà, j'ai bien l'impression de tomber sur un effet de bord du à la suppression de ces fameux override, cas concret de ce que je soulevais dans mon poste précédent.

 

Qu'en pensez-vous? Pourquoi selon vous cela tournait en local? Et si je me trompe (ce qui est bien possible ;)) et que mon souci viendrait d'ailleurs, où le lien se fait-il entre les appels de classe "normaux" (ex : new CMS(...)) et les classes originelles ( ex : new CMSCore(...))?

 

Merci d'avance pour vo éclaircissements,

 

Nicolas

Edited by nbonniot (see edit history)

Share this post


Link to post
Share on other sites

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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More