Bonjour,
comment puis-je définir une méthode static dans le code PHP d'un module de telle sorte que cette méthode puisse être appelée de n'importe quel fichier template smarty ?
Example :
COnsidérons le module ps_featuredproducts. Mettons
- que j'ai besoin d'afficher le nom (ou lien ou image...) de la catégorie associée à ce module
- mais quelque part sur la page de garde, loin du bloc généré par le fichier .tpl du module (loin de la liste des produits donc).
Une solution pratique serait de définie une méthode public static, par exemple public static function getCategoryName(), dans une classe PHP du module.
Puis d'appeler cette méthode depuis le code Smarty du fichier template index.tpl de ma page de garde.
Ca devrait être possible : le module "prestablog" définit ce genre de méthode static et je peux bien les appeler depuis n'importe quel template en smarty.
Mais je n'y arrive pas... et ne trouve pas d'info dans la doc.
Mes tentative :
- j'ai défini une méthode public static dans le fichier ps_featureproduct.php à la racine du module. Mais ca ne marche pas : pas appelable depuis le code smarty.
- j'ai défini une méthode public static dans une classe placée dans le répertoire ps_featuredproducts/class, en m'inspirant de ce qui est fait dans le module "prestablog". Mais ca ne marche pas non plus : il n'est pas possible de l'appeler depuis index.tpl.
Comment devrais-je faire ?
Est-ce que par exemple il y a un "fichier secret" à définir dans le module, dans lequel il me faudrait lister toutes les méthodes de classe que je veux rendre disponible en smarty ?
Ou une autre ruse bien sentie ?
merci X1000 pour votre aide à venir !