Jump to content

Document technique prestashop erreur


Recommended Posts

Bonjour,
je suis développeur logiciel/web
j'ai consulté le document technique afin de créer un module.

J'ai un soucis en ce qui concerne "l'utilisation de smarty" page 36 du document technique.

J'ai écris exactement mot pour mot ce qu'il y a dans la doc et pourtant le message "Welcome to my shop" ne s'affiche pas sur l'url "localhost/prestashop/mymodule/page_mymodule.php"

Par contre, j'ai la possibilité de traduire "Welcome to my shop" via le back office ce qui voudrait dire que smarty accepte
{$messageSmarty} du fichier page_mymodule.tpl. J'ai également introduit {debug} mais rien n'y fait.

J'ai vérifié, revérifié, testé et resteté ...

La méthode présentée en page 34 et 35 fonctionne correctement et la méthode {debug} fonctionne également.
Meme s'il me semble y avoir une erreur dans le code du fichier "mymodule.tpl":
le lien pointe sur ../mymodule/page.php et je pense qu'il s'agit plus de ../mymodule/page_mymodule.php
si on suit la logique du document technique qui propose ensuite de créer un fichier page_mymodule.php

Quelqu'un pourrait-il m'éclairer sur l'utilisation de smarty dans le cas concret du document technique, svp?!

Cordialement,
Yannick33

Link to comment
Share on other sites

Bonjour, j'ai regardé page 36 les 10 lignes de codes (au milieu de la page) mais je ne comprend pas pourquoi “Welcome to my shop” devrait s’afficher sur l’url.
$smarty->assign('messageSmarty',$message) signifie que l'on transmet la variable $message dans le fichier tpl (mymodule_page.tpl) où la variable s'appellera messageSmarty et qui sera affichable en mettant {$messageSmarty}

Quand vous voyez dans le fichier php: l('Title : ') ceci signifie qu'il va afficher dans la partie admin: 'Title :' et que ceci est traduisible avec le fichier fr.php
Si vous avez {l s='Title :'} dans un fichier tpl alors 'Title : ' sera affiché tel que, sauf si il est traduit

Link to comment
Share on other sites

Bonjour,
en fait je me suis mal exprimé lorsque j'ai dit que Welcome to my site devrait s'afficher sur l'url page_mymodule.php.

Dans la doc, on nous propose de créer un module Welcome contenant un lien Click Me !
En cliquant sur ce lien, j'arrive sur la page page_mymodule.php qui fait appel à la vue page_mymodule.tpl

Dans ce dernier fichier, j'ai bien mis {$messageSmarty} et pourtant rien ne s'affiche.

J'ai bien modifié page_module.php comme dit dans la documentation.

Je travaille en local. Dois je faire attention a la configuration de Smarty ?

Si ce message ne vous rien apporté comme informations supplémentaires au sujet de mon erreur, veuillez me le signaler.

Cordialement,
Yannick33

Link to comment
Share on other sites

Testez dans votre fichier tpl:
{if $messageSmarty}{$messageSmarty}{else}Pas de message{/if}

si vous n'avez le message enregistré attendu (Welcome to my shop), essayez aussi avec $smarty->assign(‘messageSmarty’,'Voici un message') dans le fichier php

EDIT : je crois que j'ai compris l'erreur :

page 36 : on assigne une valeur ($message) à messageSmarty dans le fichier my_module_page.php, et cette valeur peut être affichée via le fichier my_module_page.tpl ET SEULEMENT CELUI CI, si dans my_module_page.tpl vous avez un lien qui renvoi sur une autre page alors messageSmarty est "perdu".

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

J'ai rencontré le même problème
il semblerait que la ligne 5 du fichier mymodule_page.tpl soit en cause :
include(‘MyModule.php');

car en la remplaçant par :
include(dirname(__FILE__).'MyModule.php');
l'exemple fonctionne à nouveau

Cordialement - Gustav95

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...