Jump to content

bshqsdnb

Members
  • Content count

    6
  • Joined

  • Last visited

About bshqsdnb

  • Rank
    PrestaShop Newbie
  • Birthday 07/16/1980

Profile Information

  • Gender
    Male
  • Location
    Belgium
  1. Affichage sur le front office

    Oui merci c'est nickel je vais en prendre connaissance mes congés approchent justement !
  2. Affichage sur le front office

    Impeccable je comprends bien mieux comme ça, dommage que le tuto fourni par PrestaShop ne soit pas plus exhaustif à ce sujet mais je suppose que c'est pour laisser le champ libre à divers auteurs de livres et tutos de pallier à cela. Si la référence que vous me donnez n'est totalement applicable à la version 1.7 je vais essayer de trouver quelque chose qui le serait ou attendre un peu que ça sorte. En attendant je vais lire le code des classes de PrestaShop j'en apprendrai certainement pas mal. Concernant le souci de display.php j'ai bien un environnement Ubuntu Server 16.04 LTS + Apache 2 + PHP 7 + MySQL Community 5.7.20. Tous les fichiers de mon répertoire PrestaShop appartiennent à l'utilisateur et au groupe www-data avec un masque 775. Je ne connaissais pas le débogueur php par contre, c'est très intéressant. Je vais le lancer et voir ce que ça donne. En tous cas merci pour ces précieux conseils ! Sébastien
  3. Affichage sur le front office

    Les choses avancent. J'ai recherché la méthode getModuleLink dans le code source et j'y ai appris la signification des arguments. Le premier est le type du lien (soit un module) et le deuxième le "controller" associé. J'ai été dupé par la réécriture d'url qui m'a fait croire qu'il s'agissait d'un lien direct mal formé vers un fichier php. On se rend mieux compte de cela avec la réécriture désactivée. Je rencontre toutefois un problème avec l'exemple dont voici le front controller : <?php class mymoduledisplayModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $this->setTemplate('module:mymodule/views/templates/front/display.tpl'); } } Le fichier display.tpl est un simple "Hello World" placé au bon endroit. Si je charge la page je reçois une erreur interne du server (500) et ceci dans le log apache : [Tue Dec 26 10:44:58.123746 2017] [:error] [pid 30177] [client 109.134.3.94:55239] PHP Fatal error: Uncaught Error: Class 'mymoduledisplayModuleFrontController' not found in /var/www/html/classes/controller/Controller.php:142\nStack trace:\n#0 /var/www/html/classes/Dispatcher.php(371): ControllerCore::getController('mymoduledis...')\n#1 /var/www/html/index.php(28): DispatcherCore->dispatch()\n#2 {main}\n thrown in /var/www/html/classes/controller/Controller.php on line 142 La version PrestaShop concernée est 1.7.2.4. Merci d'avance, Sébastien
  4. Affichage sur le front office

    Bonjour, Déjà un tout grand merci pour votre réponse Pierre. Je vais essayer d'être plus clair. Dans l'exemple on appelle la méthode $this->context->link->getModuleLink() avec comme arguments 'mymodule' et 'display'. Cette méthode me retourne un lien du type "https://monsite.com/module/mymodule/display". Plus loin dans l'exemple on demande de créer un fichier display.php à la racine du module. 2 problèmes selon moi : la méthode renvoie un lien erroné vers le module, ce doit être un bug ? En effet le terme "module" est au singulier dans ce lien alors qu'il est au pluriel dans mon arborescence, je devrais donc avoir "https://monsite.com/moduleS/mymodule/display" j'ai aussi comme retour le mot display à la fin de l'URL et pas display.php que l'on m'a demandé de créer. Ne faudrait-il pas écrire $this->context->link->getModuleLink('mymodule', 'display.php') au lieu de $this->context->link->getModuleLink('mymodule','display') ? Existe-t-il un endroit où sont listées toutes les méthodes et leurs différentes implémentations ? Merci ! Sébastien
  5. Bonjour, Comme l'indique mon statut je suis tout nouveau sur PrestaShop et j'aimerais développer des modules pour ce CMS. Je suis la documentation publiée pour les développeurs de module et j'aurais quelques questions à poser sur la partie permettant l'affichage sur le front office. En premier lieu, si je suis exactement l'écriture de la fonction hookDisplayLeftColumn, la valeur de $my_module_link que j'utilise dans la suite de l'exemple (tpl) est incorrecte. On me dit en effet dans la doc que je dois créer un fichier display.php à la racine du module et vers lequel le lien $my_module_link pointera. Le lien retourné par $this->context->link->getModuleLink('mymodule', 'display') est https://monsite.com/module/mymodule/display. Deux problèmes : module est au singulier alors qu'il est au pluriel et display ne porte pas d'extension php. Est-ce une erreur de la doc, un bug dans la méthode getModuleLink() ou moi qui n'ai pas compris le truc ? L'affichage du contenu par la méthode du hook fonctionne, je vois bien le contenu au bon endroit même si le lien n'est pas bon quand je clique dessus. On parle ensuite dans cette doc de la possibilité d'afficher du contenu grâce à l'utilisation d'un controller (php) et d'une vue (tpl). Bien. Je crée les documents demandés tels que présentés dont display.php dans /controllers/front et display.tpl dans /views/templates/front à partir de la racine de mon module. La doc indique qu'il suffit d'enregistrer les deux fichiers, recharger la page et cliquer sur le lien pour voir le contenu affiché dans un thème grâce à un controller. Eh bien non ça ne fonctionne pas déjà parce que le lien me donne une erreur 404. Et si je vais chercher directement mon php dans /controllers/front/display.php j'ai une erreur fatale comme quoi la classe ModuleFrontController est introuvable. Si vous avez eu le courage de me lire jusqu'ici et que vous comprenez ma demande je vous remercie d'avance pour l'aide apportée. Cordialement, Sébastien
  6. Bonjour, Ce post juste pour dire que ça fait plusieurs jours que j'essaie de m'inscrire sur le forum avec plusieurs adresses mail différentes, j'ai eu un mal fou à recevoir un seul mail de validation. J'ai même été banni avec mon adresse professionnelle j'ai donc dû m'inscrire avec adresse personnelle et au final c'est le nom d'affichage qui pose problème. J'ai toujours utilisé le même nom (coche verte pourtant donc théoriquement bon) et jamais reçu le mail, cette fois-ci j'ai encodé n'importe quoi et ça a marché du premier coup. Je ne suis certainement pas le seul à rencontrer ce problème. Voilà donc pourquoi je m'appelle maintenant "bshqsdnh"... Merci et à bientôt sur le forum. Sébastien (mon vrai prénom)
×