Jump to content

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 !

Link to comment
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_}

 

 

Link to comment
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)
Link to comment
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()

Link to comment
Share on other sites

  • 1 year later...

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