Jump to content
Ric34

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)

Share this post


Link to post
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).

Share this post


Link to post
Share on other sites

Et le nom de l'override doit forcément se terminer par "Override", je ne sais pas où vous avez vu dans la doc que l'on pouvait utiliser "Tools" pour surcharger un module...

Share this post


Link to post
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)

Share this post


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

Share this post


Link to post
Share on other sites

Donc si je comprends bien c'est un modèle utilisé par le module que vous voulez surcharger, pas le module lui-même.

C'est bien ça ?

Share this post


Link to post
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)

Share this post


Link to post
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)

Share this post


Link to post
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é.

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