Passage de variable entre smarty et php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par regnierjoffrey, 21 Janvier 2010.

  1. regnierjoffrey
    regnierjoffrey Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    4
    J'aime reçus:
    0
    Bonjour,
    je vous expose mon petit soucis,

    j'ai du malheureusement trouve une solution pas tres commode pour lire une fichier xml dans le template d'une boutique en ligne (prstashop). Au fure et a mesure du temps j'ai reussi a me debrouiller pour developpper un p'tit bout de code qui fonction correctement si je tape l'adresse manuellement dans ce code mais cela ne m'arrange pas puisque chaque produit a sont propre fichier xml. J'ai donc fait quelque modification afin qu'il aie chercher le fichier lui meme. et c'est la que je dois donc passer une variable de smarty vers php. Mais parcequ'il y a un mais, cela ne m'affiche rien. J'ai fait une verif avec un echo la ca fonctionne, mais on dirait qu'il ne prend pas la variable pour direction.

    si quelqu'un pouvais m'aider, je suis super dans la m...

    Code:
    {assign var='prodConvert' value=$product->description} // assignation de la variable pour le transfere a php
    
    {php}
    
    $myVar = $this->get_template_vars('prodConvert'); // recuperation de la variable
    
    
    echo  "$myVar<br /><br />"; // controle de cette variable, la il m'affiche bien l'adresse (du type : http://www.bacata.net/RSS/CT%20White_FR.xml)
    
    //ouverture du fichier xml
    
    $reader = new XMLReader();
    
    $reader->open("$this->get_template_vars('prodConvert')"); //ici si je tape l'adresse manuellement ca fonctionne mais avec la variable ca ne fonctionne pas ???
    
    //on parcours le fichier xml
    
    while($reader->read())
    	{
    
    	//rechercher de l'élément nommé 'item'
    
    	if ($reader->nodeType == XMLREADER::ELEMENT && $reader->localName == "description") 
    		{
    			
    			//Lecture de son contenu 
    
    			if ($reader->read()) 		
    			
    				{
    				$valeur = ($reader->value);
    				//afficher la valeur de l'élément
    
    				echo  "$valeur<br /><br />";
    				}
    		}
    	}
    
    {/php}
    
     
  2. bproductiv
    bproductiv WRInaute accro
    Inscrit:
    27 Décembre 2004
    Messages:
    3 705
    J'aime reçus:
    0
    est ce que tu as cherché sur le site de smarty ?
    il faut passer par un assign.
     
  3. regnierjoffrey
    regnierjoffrey Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    4
    J'aime reçus:
    0
    oui oui c'est bien ce que j'ai fait :

    Mais je ne comprend pas pourquoi

    Ne lit pas la variable comme une adresse normalement il devrais lire cela

    et je suis sur que la variable ''prodConvert prend bien la variable puisque si je fais un echo il affiche le lien
     
  4. bproductiv
    bproductiv WRInaute accro
    Inscrit:
    27 Décembre 2004
    Messages:
    3 705
    J'aime reçus:
    0
    Essaye sans les guillemets ?

    source : http://www.smarty.net/manual/fr/language.custom.functions.php
     
  5. regnierjoffrey
    regnierjoffrey Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    4
    J'aime reçus:
    0
    oui j'avais deja fait le test mais sans grand resultat.

    c'est vraiment etrange ..... j'ai testé en local et en ligne meme resultat
     
  6. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Je ne connais pas trop smarty je m'en suis servi uniquement sur prestashop :
    Codé php
    Code:
    $Smarty->assign('plop' => $ma_var_1,
    'pwet' => $ma_var2);
    
    Coté html
    Code:
    <div>{plop}</div>
    <div>{pwet}</div>
    J'ignore si ça pourra t'aider mais j'ai l'impression que tu fais ça dans le mauvais ordre, tu dois d'abord assigner et générer ton template, puis l'appeler.

    Bon, peut-être y a-t-il des spécialistes de smarty dans le coin aussi.
     
  7. regnierjoffrey
    regnierjoffrey Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    4
    J'aime reçus:
    0
    Je vois que vous utilisez toujours une $smarty c'est une variable que vous nommé au hazard, ou son nom a une raison particuliere. Desolé j'ai pas vraiment le temps de commencer a lire tout la doc sur smarty fo que ma boutique soit en ligne lundi absolut .... donc gros galere :oops:
     
  8. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Justement, si tu veux vraiment qu'elle soit en ligne il va falloir que tu lises un peu son fonctionnement ;)

    au départ du déclare ta classe avec un
    Code:
    $smarty = new Smarty();
    ou truc du genre, d'où notre $smarty->function_de_la_classe.
     
Chargement...
Similar Threads - Passage variable smarty Forum Date
passage de variable dans url php5 Développement d'un site Web ou d'une appli mobile 25 Juillet 2010
Search Console Passage de http vers https Référencement Google 15 Novembre 2020
WordPress Bug de référencement après passage du .fr au .com Débuter en référencement 9 Octobre 2020
Astuce Presta passage de 1.6 à 1.7 en gardant les images rubriques et sous rubriques e-commerce 8 Avril 2020
WordPress Problème référencement depuis passage Joomla sur WordPress Problèmes de référencement spécifiques à vos sites 21 Février 2020
Passage de la langue principale en sous-répertoire, que faire de la racine ? Référencement international (langues, pays) 15 Janvier 2020
Passage de mon site en Https Problèmes de référencement spécifiques à vos sites 29 Décembre 2019
Search Console Chute du référencement suite au passage en HTTPS Référencement Google 27 Décembre 2019
WordPress Problème référencement depuis passage Joomla sur Wordpress Problèmes de référencement spécifiques à vos sites 19 Décembre 2019
Comment augmenter la fréquence de passage de GoogleBot Crawl et indexation Google, sitemaps 10 Décembre 2019