probleme variable smarty -> php

Répondre
regnierjoffrey
le 21/01/2010 à 03:50
regnierjoffrey
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...

{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}
moogli
le 21/01/2010 à 09:03
moogli
Salut
je ne connais pas smarty masi ligne 15 essai sans les " ou avec directement $myvar

@+
Il en faut peu pour être heureux !!!!!
moogli
le 21/01/2010 à 09:10
moogli
Hum faut que je regarde la doc de la classe y a peut être un message d' erreur .....
Je voie quand je descend de l auto ;)
Il en faut peu pour être heureux !!!!!
regnierjoffrey
le 21/01/2010 à 10:56
regnierjoffrey
Super merci suis vraiment dans la merde. Je te rend franchement la pareil si tu me sort de la !!
moogli
le 21/01/2010 à 14:41
moogli
huim j'ai testé le code, a part un espace manquant ligne 14 il fonctionne (dommage que le tapis de souris soit blanc ;) ).

code testé
{assign var='prodConvert' value=$product->description} // assignation de la variable pour le transfere a php

{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)
**/
$myVar ='http://www.bacata.net/RSS/CT%20White_FR.xml';
//ouverture du fichier xml

$reader = new XMLReader();

//$reader->open("$this->get_template_vars('prodConvert')");
$reader->open($myVar);
//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 />';
}
}
}

?>

faudrais voir avec la moulinette smarty, mais j'ai pas :)
testé avec php 5.2.4 sous win.
peut être mettre direct le $this-> truc dans la métode open est pas bien vu, peut être avac $myVar en intermédiaire/

J'ai pas trop d'idée en plus dsl

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours