Réutiliser une variable smarty en tant que variable php

Langage de programmation (PHP, ASP, Javascript, Ajax...) et bases de données (MySQL, MsSQL, PostgreSQL, Oracle...)

Réutiliser une variable smarty en tant que variable php

Messagede Keroin » Mer 1 Avr 2009 05:33

Je recrée un post pour ne pas polluer l'autre sujet où j'avais commencé à décrire le problème ( => topic663-10.html#p6556).
Je fais remonter ce post car le problème indiqué est relativement similaire au miens.
Je souhaite insérer un script php à la page détail. Ce script a besoin de la variable {$site.url} dans l'echo pour fonctionner (afin de s'adapter à la page détail de chaque site), quand je fais :
Code: Tout sélectionner
{php}
function getvar($url){
$request_url = "http://servicesite.com/url=".$url;
$xml = simplexml_load_file($request_url) or die("feed not loading");
return $xml->SD->POPULARITY['TEXT'];
}
echo getvar("http://example.com"); //là il faut que j'intègre la variable {$site.url}
{/php}
  

ça fonctionne mais ce n'est bien évidemment pas "dynamique"... :cry:

J'ai essayé d'intégrér la variable {$site.url} de plusieurs façons à la place de -http://example.com mais rien ne veux passer...

C'est assez embêtant d'autant que j'ai d'autres scripts qui utilisent le même procédé (avec intégration de l'url dans l'echo) que je souhaiterais utiliser mais ça bloque...
Une idée ???


Alors je n'arrête pas de me prendre la tête avec ça et j'ai effectué des tas de tests qui se sont tous soldés par un échec (sois aucune interprétation de la variable, soit un joli code d'erreur m'indiquant généralement que la variable que j'essaye d'utiliser n'est pas déclarée...).

Je ne comprends vraiment pas car cette fameuse variable smarty (=> {site.url}) qui est censée représenter l'url du site concerné par la page détail me renvoi correctement l'affichage de cette url dans le template et aussi quand je l'utilise via des scripts javascript...
Par contre rien à faire pour l'intégrer dans l'echo de ma fonction en php ???
Comment réussir à faire cela car j'ai exploré la doc smarty de long en large sans trouver de solution à ce cas de figure ???
Les Pages du Keroinsite - Annuaire généraliste gratuit : http://pages.keroinsite.com
Keroin
 
Messages: 187
Inscription: Mar 15 Juil 2008 15:48


Re: Réutiliser une variable smarty en tant que variable php

Messagede bilel » Mar 16 Juin 2009 12:24

Up pour ce post parce que j'ai le même problème :shock:

Mes codes marchent Nickel avec des tests statiques !

Alors, l'avis de Arf nous intéresse :)

En se référant au Wiki de Smarty sur cette page:

Il faut voir le fichier components/templatelite/class.template.php :

Trouver :

Code: Tout sélectionner
public $php_extract_vars = false;   // Set this to true if you want the $this->_tpl variables to be extracted for use by PHP code inside the template.


Je l'ai changé en True.

Puis j'ai testé l'appel depuis details.tpl :

$input_url = $this->get_template_vars(); //ça renvoie toutes les variables récupérables
print_r($input_url);

Le résultat est très long !
Je poursuis le travail

@+
Un geek de Djerba
bilel
 
Messages: 8
Inscription: Lun 30 Mar 2009 02:24

Re: Réutiliser une variable smarty en tant que variable php

Messagede bilel » Mar 16 Juin 2009 12:42

Pour récupérer l'url du site j'ai mis :

Code: Tout sélectionner
$input_url = $this->get_template_vars();
$res = $input_url['site']['url'];
Un geek de Djerba
bilel
 
Messages: 8
Inscription: Lun 30 Mar 2009 02:24

Re: Réutiliser une variable smarty en tant que variable php

Messagede Keroin » Mar 16 Juin 2009 15:17

Merci bilel je vais regarder tout ça dès que j'ai 5 mn ;)
Les Pages du Keroinsite - Annuaire généraliste gratuit : http://pages.keroinsite.com
Keroin
 
Messages: 187
Inscription: Mar 15 Juil 2008 15:48

Re: Réutiliser une variable smarty en tant que variable php

Messagede Arf » Mar 23 Juin 2009 11:04

Bonjour,

Je vais voir pour vous aider ce soir ou dans la semaine, normalement j'ai un peu de temps ;)
En ce moment je suis un peu short surtout que je dois vous sortir une belle version 2.0.0 ^^
Arf
Administrateur du site
 
Messages: 3080
Inscription: Lun 21 Jan 2008 14:53

Re: Réutiliser une variable smarty en tant que variable php

Messagede bzbz » Mar 23 Juin 2009 14:30

bilel a écrit:En se référant au Wiki de Smarty sur cette page:
Il faut voir le fichier components/templatelite/class.template.php :
Trouver :
Code: Tout sélectionner
public $php_extract_vars = false;   // Set this to true if you want the $this->_tpl variables to be extracted for use by PHP code inside the template.

Je l'ai changé en True.
Puis j'ai testé l'appel depuis details.tpl :
$input_url = $this->get_template_vars(); //ça renvoie toutes les variables récupérables
print_r($input_url);

Le résultat est très long !
Je poursuis le travail

@+


je ne suis pas sûr que c'est le mieux de tout modifier juste pour une fonction. Le mieux ça serait de reussir à integrer la fonction dans un fichier model.

Sinon c'est autant faire un fichier php à part où on require le fichier config/db.php et on l'inclut dans le details.tpl. Ca ne serait pas titop car les requêtes se feront à chaque fois mais au moins on touche à rien.
bzbz
 
Messages: 180
Inscription: Jeu 20 Nov 2008 00:26

Re: Réutiliser une variable smarty en tant que variable php

Messagede onico0 » Dim 21 Fév 2010 17:23

Arf a écrit:Bonjour,

Je vais voir pour vous aider ce soir ou dans la semaine, normalement j'ai un peu de temps ;)
En ce moment je suis un peu short surtout que je dois vous sortir une belle version 2.0.0 ^^


Ha et bien justement pour la V2, la soluce proposée par Smarty ici : http://www.smarty.net/manual/en/api.get ... e.vars.php ne fonctionne malheureusement plus :( j'ai ouvert un post ici.

EDIT : Solution ici Récupérer les vars smarty en PHP ? get_templat. dans la V2.
Référencement professionnel belgique. Mon annuaire Arfooo.
onico0
 
Messages: 384
Inscription: Lun 21 Sep 2009 13:49


Retourner vers Programmation

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

 
Copyright © arfooo.com  2007 - 2011  -  Tous droits réservés  -  Partenaires de confiance
Sites du groupe: petites annonces gratuites   voyance en direct - tirage tarot   Consultant en référencement
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | phpBB SEO Traduction par: phpBB-fr.com