Jump to content

Récupérations de variables smarty depuis php


Recommended Posts

Bonjour

Je souhaiterais savoir s'il est possible de récupérer une variable assignée à smarty par un php, depuis un autre php.

A priori oui avec la fonction :

$smarty->get_template_vars('nom_de_la_variable');



Mais est ce possible depuis un module?
En effet j'ai créé un Hook que j'ai appelé "CategoryTop", que j'appelle en haut de mon template category.tpl

Dans ce Hook un module est appelé, et dans ce module j'aurais besoin de l'id de la catégorie. L'id de la catégorie a été assigné à smarty sous la variable "id_category" depuis "category.php" et il s'affiche bien lorsque je l'affiche depuis "category.tpl"

Ma question est comment récupérer cet Id depuis le fichier php de mon module?
j'ai essayé avec

$id_cat= $smarty->get_template_vars('id_category');



Mais ca ne donne rien.
Je suppose que je dois mal me servir de get_template_vars ou qu'il me manque autre chose.

Link to comment
Share on other sites

Mais ta variable id_category existe déjà et certainement bien traité en php avant même de parler de template smarty ! Pourquoi tu ne l'utilise pas directement cette variable ? Si elle a un statut privé dans sa classe, pourquoi ne pas la rendre public pour ensuite en bénéficier dans tout ton code php à suivre !

Une variable globale php en fait !

Link to comment
Share on other sites

Merci pour vos réponses. C'est vrai que je me compliquais la vie pour rien..

D'ailleurs entre temps j'avais résolu mon problème en récupérant l'Id de la catégorie par $_GET[] tout comme on le fait dans category.php... :)

Link to comment
Share on other sites

Faut justement éviter de surcharger le template smarty par de surcouche inutile ! smarty doit être la pour générer le contenu dynamique déjà traité par le code php ! C'est plus flexible et plus rapide !

Donc tant que tu peux récupérer le code / variable déjà présent dans php n'hésite pas !
Personnellement les seules variables que je m'autorise à utiliser indépendamment du php (même si je les ai déjà traité au préalable) sont les accès "session", car ce sont des variables d'environnement à la base hors php et hors smarty (du moins pour leur stockage en mémoire) !

Link to comment
Share on other sites

  • 1 month later...

hello,
comment on rend public et affiche une variable possédant un statut privé ? et comment afficher $id_category sur une autre page car meme en etant sur une page de catégorie la variable n'est pas accessible depuis un module se trouvant placé sur une page de catégorie.
Par exemple j'ai un module de navigation placé dans le 'top of the pages' et c'est la galère pour avoir les variables de category dans le tpl du module alors meme que la page en cours est bien category.php?id_category...

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Bonjour à tous,

je déterre ce vieux post...

De mon côté je récupère effectivement l'id de catégorie en GET mais depuis que l'url simplifiée a été activée sur le site il n'y a plus moyen de récupérer l'id de catégorie en GET...

Je précise que je veux récupérer ces id depuis header.tpl pour utiliser des classes css différentes pour chaque catégorie et les pages produits qui leur correspondent.

Que faire ?

J'ai lu ce conseil ailleurs mais je ne sais pas l'utiliser :
$maCategorie = intval($smarty.get.id_category);

Avez-vous réussi à récupérer l'id de catégorie avec url simplifiée activée ?

Merci.

Link to comment
Share on other sites

Plutôt qu'utiliser $_GET je pense qu'il vaut mieux utiliser Tools::getValue("nom_varialble");
Cette fonction statique cherche dans _GET et _POST et fait un p'tit nettoyage en cas de type "string" c'est bien utile.

  • Like 1
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...