Jump to content

Lien entre PHP et templates(.tpl)


Recommended Posts

Bonjour,


Je suis en train de modifier le code de prestashop, le problème c'est que c'est codé en grande partie en php avec le moteur smarty et avec des templates.

Php je connais a peu près mais smarty et les templates pas beaucoup.
Donc j'ai remarqué que les templates sont liés aux pages php, smarty transmet via la fonction display les informations à la page .tpl, mais je ne sais pas trop ou cette dernière(page en .tpl) s'exprime.

Je voudrais donc savoir si, lorsque je modifie un code php il faut obligatoirement modifier la page .tpl qui lui est relié.

Merci d'avances pour vos réponses^^
Bonne journée

Link to comment
Share on other sites

He bien ça dépend de ce que tu veux faire.
Si tu veux modifier juste la valeur d'une variable dans le fichier .php, du faite du lien avec le .tpl, il n'y a rien à changer. Par contre, si tu supprimes une variable dans le .php qui est utilisé dans le .tpl, il va y avoir une erreur.

Link to comment
Share on other sites

Merci de ta réponse,

Pour l'instant j'ai changé les boutons agrandir l'image et imprimer qu'il y a en dessous d'un produit lorsqu'on fait"plus d'information".
Dans le code php j'ai supprimé quelques truc mais j'ai pas touché au .tpl et ca a l'air de marcher, pourtant le tps et le php étaient assez ressemblant.
Mais je me demande si ca va pas faire des erreurs ailleurs :s:s

Link to comment
Share on other sites

Très chèr(e) Nashara.

Voici une petite explication :
!http://moise.dero.free.fr/cours/templates/ressources/php_templates_1.jpg!

En gros, tu as :
# D'un côté les scripts PHP se chargeant de gérer la logique dite métier (pagination, tri des données, modelage des données)
# De l'autre côté un fichier HTML banal portant l'extension *.tpl (comme template contenant des variable du moteur de Template (Smarty))
# Le tout passe par ce fameux moteur (Smarty) pour donner forme à une page variabilisée (mot non français mais très explicatif).

Link to comment
Share on other sites

Merci encore!

Donc les .tpl correspondent à mes pages .html au niveau affichage client?

Pourtant j'ai modifié du code php, et pas le fichier template associé et ca marche.
Mais bon comme je travaille en stage pour une boite d'info faut pas faire de bêtises :D

Je vous donne le code et vous serez très aimables de me dire ce que vous en pensez^^ :

code php modifié :

>
<!-- usefull links-->
</pre>
<ul>
           <?php if ($this->_tpl_vars['HOOK_EXTRA_LEFT']): ?><?php echo $this->_tpl_vars['HOOK_EXTRA_LEFT']; ?>
                       <?php endif; ?>

           <?php if ($this->_tpl_vars['have_image'] && ! $this->_tpl_vars['jqZoomEnabled']): ?>


           <?php endif; ?>
</ul>



code html du fichier .tpl correspondant:

>
</pre>
<ul>
           {if $HOOK_EXTRA_LEFT}{$HOOK_EXTRA_LEFT}{/if}
{l s='Print'}

           {if $have_image && !$jqZoomEnabled}
{l s='View full size'}
           {/if}
</ul>



Merci d'avance.
Cordialement

Link to comment
Share on other sites

Bon en fait j'ai testé en modifiant le .tpl et ca marche également, je suppose que c'est mieux comme ca si je me base sur les explications de Julien :)

J'avais effectivement eu des problèmes d'affichage lorsque je modifiais les .tpl mais la tout a l'air en ordre.

Merci à vous pour vos réponses :)

Link to comment
Share on other sites

Le code que j'ai affiché plus haut est valide?
Pourtant je viens de le modifier car il y avait des éléments inutiles.
Maintenant ca donne ca :

>
</pre>
<ul>
           {if $HOOK_EXTRA_LEFT}{$HOOK_EXTRA_LEFT}{/if}

           {if $have_image && !$jqZoomEnabled}

           {/if}
</ul>



Ça correspond plus au code php, même si l'ancien fonctionnait à peu prés^^

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