comment générer un lien vers un contrôleur du module dans prestashop?
Ce qui est exactement de la même façon à générer un lien vers un contrôleur du module dans prestashop? Aussi, comment devrait vraiment être nommé contrôleur de la classe et comment l'url params devrait miroir?
OriginalL'auteur Luca Reghellin | 2014-08-01
Vous devez vous connecter pour publier un commentaire.
Vous allez utiliser une instance de la classe Link. En général, vous n'avez pas à en créer un, il suffit d'utiliser
context->link
(ex. former un contrôleur de$this->context-link
). La méthode estgetModuleLink()
, donc:Méfiez-vous de ce nom:
Module nom du dossier, c'est exactement cela..
Le contrôleur doit être dans le droit chemin, de sorte que par exemple module/controllers/front/controller.php
Le nom de fichier est l'action, en minuscules. Le nom de la classe est ModuleFolder+Action+"ModuleFrontController"
Ainsi, par exemple:
module dir: orderattachment
contrôleur: orderattachment/controllers/front/pdf.php
contrôleur de classe:
lien:
Salut, un paiement doit être un module de contrôleur: êtes-vous sûr qu'il ne l'est pas? Avez-vous vérifié que le module du dossier? Aussi, en général, en disant: "lien à un contrôleur" est tout à fait la même que la "lien vers une page'. Je veux dire, un contrôleur de gestion existent pour une page. En d'autres termes, si vous n'avez pas de contrôleur, que vous n'avez pas de page dédiée, donc la question est: qu'essayez-vous de lien alors?
Et pour le lien admin: $this->contexte->lien>getAdminLink(ControllerName)
Est-ce de travailler en 1.7?
honnêtement, je ne sais pas, je n'ai pas testé 1.7 encore. Mais je pense que l'on peut trouver facilement en prenant un coup d'oeil à la
Link
classe. Vient de voir siLink::getModuleLink()
existe et si oui, jetez un coup d'oeil au code. Et/ou, éventuellement, il suffit de l'essayer.OriginalL'auteur Luca Reghellin
Un autre moyen de créer un lien est d'utiliser un lien hypertexte dans la vue (fichier de modèle) comme suit:
Par exemple, dans un ecommerce pour la réparation de voiture de boutique, le client est tenu de régler la voiture, il/elle aura lors du prochain rendez-vous (le module accroché dans la colonne de droite).
Si son véhicule n'existe pas, il/elle a besoin d'en créer un nouveau (le contrôleur frontal page, nous voulons appeler).
Dans mon exemple, dans la vue, le lien serait:
Note: Comme mentionné par Stratboy dans sa réponse, la convention de nommage est très important sinon Prestashop ne sera pas en mesure de trouver la page. Par exemple,
est manquant "r" de "contrôleur" dans le nom de la classe et de produire l'erreur suivante:
Note 2: j'ai utilisé cet excellent tutoriel (avec un exemple concret) pour démarrer dans mon propre projet : http://nemops.com/creating-new-pages-in-prestashop/#.VjpH2LerRhF
OriginalL'auteur Jonathan Parent Lévesque