Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 10h16   #1
Invité de passage
 
Femme Elisabeth
Étudiant
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Elisabeth

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 0
Points : 0
Par défaut Smarty affiche le code source

Bonjour je n'arrive pas à lire le fichier php à partir d'un templat .tpl
Je vous joins mon code si vous pouvez m'aider.

tpl :

Code :
1
2
3
4
5
6
7
8
<div id="information_contenu">
{assign var=id value=$product->id}
{include file="../themes/prestashop/fonction_product.php"}
{section name=image loop=$image}
{$image[image].fc_nameImage}
<center><img src="http://www.lisica-informatique.fr/img/logo/{$image[image].fc_nameImage}" /></center>
{/section}
</div>
php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require_once('../tools/smarty/Smarty.class.php');
 
 
$ Smarty = new Smarty;
 
include ("../Connect-base.php");
$id=$product->id;
$requete_fc="SELECT ps_fonctionnalite_attribute.id_fc, fc_nameImage FROM ps_product, ps_product_lang, ps_fonctionnalite, ps_fonctionnalite_attribute WHERE ps_product.id_product=ps_fonctionnalite_attribute.id_product AND ps_fonctionnalite.id_fc=ps_fonctionnalite_attribute.id_fc AND ps_product.id_product=ps_product_lang.id_product AND id_lang=2 AND ps_product.id_product=$id;";
$result_fc=mysql_query($requete_fc);
while($ligne_fc=mysql_fetch_assoc($result_fc)){
$valeur[]=$ligne;
}
 
$Smarty->assign('image', $valeur);
$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';
// $Smarty->display('product.tpl');
?>
Cordialement,
Elisabeth_Dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h54   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,


c'est pas clair, d'où vient ta variable $product ? que veux-tu faire exactement ?
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h04   #3
Invité de passage
 
Femme Elisabeth
Étudiant
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Elisabeth

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 0
Points : 0
Deuxième approche et toujours un soucis :

tpl :
Code :
1
2
3
4
5
6
	<div id="information_contenu">
	{assign var=id value=$product->id}
	{foreach from=$list item=logo}
	<center><img src="http://www.lisica-informatique.fr/img/logo/{$logo.nameI}" /></center>
	{/foreach}
	</div>
php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<?php
// Extraction des informations
$id = $smarty->get_template_vars('id');
$query = $connexion->prepare("SELECT ps_fonctionnalite_attribute.id_fc, fc_nameImage FROM ps_product, ps_product_lang, ps_fonctionnalite, ps_fonctionnalite_attribute WHERE ps_product.id_product=ps_fonctionnalite_attribute.id_product AND ps_fonctionnalite.id_fc=ps_fonctionnalite_attribute.id_fc AND ps_product.id_product=ps_product_lang.id_product AND id_lang=2 AND ps_product.id_product=$id;");
$query->execute();
 
$list = array();
$i = 0;
while($data = $query->fetch()){
    $list[$i]['id'] = $data['ps_fonctionnalite_attribute.id_fc'];
    $list[$i]['name'] = $data['fc_name'];
    $list[$i]['nameI'] = $data['fc_nameImage'];
    $i++;
}
 
// On lance Smarty
 
require("../tools/smarty/smarty.class.php");
 
$tpl = new Smarty();
 
$tpl->assign('list', $list);
 
$tpl->display("product.tpl");
?>
Elisabeth_Dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h06   #4
Invité de passage
 
Femme Elisabeth
Étudiant
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Elisabeth

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 0
Points : 0
$product sur Prestashop ça correspond au produit de la boutique en ligne
et récupérer à partir de la base de données par le template.

Exactement je veux récupérer des informations sur la base de données (le nom des logos) et pouvoir l'afficher dans ma fiche produit via le template.
Elisabeth_Dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h31   #5
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

je ne connais pas ton produit... il ont peut-être un forum ?...

moi je verrai bien un truc comme ça :

le fichier php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$query = $connexion->prepare("SELECT ps_product.id_product,ps_fonctionnalite_attribute.id_fc, fc_nameImage FROM ps_product, ps_product_lang, ps_fonctionnalite, ps_fonctionnalite_attribute WHERE ps_product.id_product=ps_fonctionnalite_attribute.id_product AND ps_fonctionnalite.id_fc=ps_fonctionnalite_attribute.id_fc AND ps_product.id_product=ps_product_lang.id_product AND id_lang=2");
$query->execute();
 
$list = array();
while($data = $query->fetch()){
    $list[$data['ps_product.id_product']]['id']    = $data['ps_fonctionnalite_attribute.id_fc'];
    $list[$data['ps_product.id_product']]['name']  = $data['fc_name'];
    $list[$data['ps_product.id_product']]['nameI'] = $data['fc_nameImage'];
}
 
// On lance Smarty
 
require("../tools/smarty/smarty.class.php");
 
$tpl = new Smarty();
 
$tpl->assign('list', $list);
 
$tpl->display("product.tpl");
?>
le fichier template :
Code :
1
2
3
4
5
6
7
8
9
10
{* Smarty *}
{section loop=$products name=itemProduit}
...
...
   <div id="information_contenu">
      <center><img src="http://www.lisica-informatique.fr/img/logo/{$list[$products[itemProduit].id].nameI}" /></center>
	</div>
...
...
{/section}
en espérant que cela t'aide...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h43   #6
Invité de passage
 
Femme Elisabeth
Étudiant
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Elisabeth

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 0
Points : 0
Merci de votre aide, à première vue ça ne marche pas, mais je vais essayé de poster un message sur le forum de Prestashop il devrait pouvoir m'aider aussi.
Elisabeth_Dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h54   #7
Invité de passage
 
Femme Elisabeth
Étudiant
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Elisabeth

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 0
Points : 0
Bonjour,
suite à votre message mon code a un peu évolué et j'ai posté un sujet sur :
http://www.prestashop.com/forums/top...ode-smartyphp/
Mais je n'ai pas encore la solution qui permettra d'obtenir le résultat attendu
Merci encore.
Elisabeth_Dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h32.


 
 
 
 
Partenaires

Hébergement Web