Jump to content

PS 1.7.5 override de module


Recommended Posts

Bonjour à tous, 

Je n'arrive pas à créer un override d'un module sur un PS 1.7.5. Les modifications de la function souhaitée ne sont pas prises en compte.

J'ai bien copié le .php vers /override/monmodule/monmodule.php

(Mes caches sont désactivées et les surcharges autorisées)

J'ai tenté d'override la class monModule avec 

class monMonduleTools extends monModule {

public function superFonction {

/*mes modifs*/

}

}

comme recommandé dans la doc PS 1.7....

J'ai sinon également tenté :

class monMonduleOverride extends monModule {

public function superFonction {

/**/

}

}

Mais idem mes modifications ne sont pas prises en compte.

De plus j'ai un autre problème bizarre avec les override, ce module a plusieurs .tpl, les modifications en override dans mon theme ne fonctionnent que pour un seul de ces fichiers... les chemins sont correctes /montheme/modules/monmodules/etc... pour chacun des fichiers....

Je n'avais jamais eu ces soucis en 1.6. Ai-je omis quelque chose ?

Je vous remercie par avance,

Edited by Ric34 (see edit history)
Link to comment
Share on other sites

Bonjour

Le chemin est override/modules/monmodule/monmodule.php (pas de majuscule / camel case /etc dans le nom du module).

Il faut aussi vider le cache pour que la modif soit prise en compte (ou supprimer le fichier class_index.php dans le répertoire var/cache/dev et/ou var/cache/prod selon que vous soyez en mode debug ou non).

Link to comment
Share on other sites

Merci pour vos retours. Je vous confirme ne pas avoir utilisé de majuscule dans le chemin d'accès et nom au fichier .php

J'ai bien vidé les caches, via le BO puis manuellement dans /var (avec class_index.php)

Je le pensais aussi pour le nom de l'override avec maClassOverride extends maClass, c'est ce que je faisais en 1.6 cela marchait mais en 1.7 non. (Ce n'est également plus mentionné dans la doc...)

Je suis donc toujours bloqué en ayant provisoirement modifié la function directement dans le module (donc sans override)... faute de solution

 

Edited by Ric34 (see edit history)
Link to comment
Share on other sites

Pour récapituler voici ce que j'ai tenté :

la class que je veux override est dans /modules/moduleaoverride/classaoverride.php

Dans /override j'ai créé le dossier est fichier /override/moduleaoverride/classaoverride.php

dans ce nouveau fichier classaoverride.php

class classaoverrideOverride extends classaoverride {

    public function lafonction($variable) {

/*ma modif*/

}

}

J'ai vidé les caches via le bo et manuellement /var/cache/dev

Rien ne se passe. 

En complément d'info cette fonction permet dans le BO d'exporter en CSV certaines données.

Link to comment
Share on other sites

Non c'est bien une fonction du module en lui même. En  gros dans cet export j'y ai simplement rajouté une colonne avec l'id de ce dont j'avais besoin et supprimé d'autres inutiles via un modele  propre au module. ça fonctionne mais pas en override comme essayé ci-dessus. 

Cette fonction fait appel a une autre fonction du module qui est private, est-ce que ça pourrait être la cause ?

Edited by Ric34 (see edit history)
Link to comment
Share on other sites

private public rien y fait, de toute façon mon override sur ce module n'est pas pris en compte ... (bizarrement idem pour ses .tpl dans /montheme... ça fonctionne avec les autres modules sans soucis)

Link to comment
Share on other sites

Bonjour

Mettez directement les extraits du code que vous essayez d'écrire parce que là c'est beaucoup trop confus.

D'un message sur l'autre vous changez les intitulés, vous décrivez des situations différentes,... On y comprend rien, désolé.

Link to comment
Share on other sites

  • 1 year later...

Bonjour,

Je me retrouve avec exactement le même problème que Ric34. A savoir :

Module initial :

  • Fichier
    • /modules/pm_productsbyattributes/pm_productsbyattributes.php
  • Class
    • class pm_productsbyattributes extends ProductsByAttributesCoreClass

Override

  • Fichier 
    • /override/modules/pm_productsbyattributes/pm_productsbyattributes.php
  • Class
    • class pm_productsbyattributesOverride extends pm_productsbyattributes

Cache rafraichi / fichier class_index.php supprimé mais rien n'y fait, l'override n'est pas pris en compte.

Précision importante : cet override fonctionne parfaitement en 1.6.

Si quelqu'un a une idée :) Ou @Ric34 si jamais tu as pu résoudre le problème.

Merci

Link to comment
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...