Jump to content
regatonseb

How use smarty variable ? / Comment utiliser les variables globales smarty

Recommended Posts

Bonjour,

Je suis en train de développer un module pour la 1.7... J'arrive bien à faire ce que je veux mais je bloque en ce moment sur un détail "ridicule"...

Dans un fichier tpl, je souhaite utiliser des variables globales smarty notamment {$urls.shop_domain_url} pour construire une url.
Il s'agit du fichier getContent.tpl, celui qui est appelé pour la partie configuration du module dans le BO.
Quand j'appelle cette variable, je comprends pas mais je prends deux erreurs de type notice : 

  1. Undefined index: urls
  2. Trying to get property 'value' of non-object

Et bien sûr, ma variable ne s'affiche pas !!!!

Faut-il faire un truc spécial ? Un appel quelconque ?
Ou encore assigner quelque chose dans ma fonction getContent() ?... Mais du coup plus d'intéret d'utiliser la portée globale de la variable...

Merci du coup de main !

Share this post


Link to post
Share on other sites

Je viens d'essayer ça...

{url entity='index'}

ça fonctionne mais bon... Je reste étonné pour l'utilisation des variables smarty. Si quelqu'un peut me dire...

Merci.

 

Share this post


Link to post
Share on other sites

Une liste qui semble à peu près à jour est dispo ici : https://www.team-ever.com/prestashop-1-7-liste-des-variables-smarty/

On peut aussi utiliser des variables PHP Globales avec Smarty par exemple https://www.smarty.net/docsv2/fr/language.variables.smarty.tpl c'est utilisé à certains endroits pour récupérer des constantes définies dans Prestashop :

Quote

{$smarty.const}

Vous pouvez directement accéder aux constantes PHP.


// la constante définie dans PHP
define('_MY_CONST_VAL','CHERRIES');

Affiche la constante dans un template comme :


{* la sortie de la constante PHP dans le template *}
{$smarty.const._MA_CONSTANTE_}

 

 

Share this post


Link to post
Share on other sites

Bonjour et merci de cette réponse.

C'est sur ce site que je suis allé chercher cette variable {$urls.shop_domain_url} .

Malheureusement, quand je l'appelle je prends une erreur et rien ne s'affiche dans mon tpl, j'en ai essayé d'autres mais en vain...

Edited by regatonseb (see edit history)

Share this post


Link to post
Share on other sites

Probablement car cette variable n'existe plus, comme je l'ai dit, cette liste est à peu près à jour.

Share this post


Link to post
Share on other sites

Probablement parce que cette variable n'est acessible qu'en front-office.

Dans ce cas il faut en trouver une autre (peut-être dans $shop, il y a des infos à propos du domaine dedans) ou sinon vous refaites un assign de variable à partir de la méthode Tools::getShopDomainSsl()

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More