IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] Smarty affiche le code source


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [Smarty] 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonjour,


    c'est pas clair, d'où vient ta variable $product ? que veux-tu faire exactement ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Deuxième approche et toujours un soucis :

    tpl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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");
    ?>

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    $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.

  5. #5
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...


  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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.

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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.

Discussions similaires

  1. [Smarty] Smarty affiche le code source
    Par PseT34 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 08/01/2011, 17h06
  2. Réponses: 9
    Dernier message: 04/03/2008, 11h04
  3. Safari affiche le code source de ma page html
    Par yep007 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/10/2007, 11h12
  4. afficher son code source
    Par blackbird1 dans le forum Delphi
    Réponses: 3
    Dernier message: 21/08/2006, 10h57
  5. [Sécurité] Afficher le code source PHP
    Par tigzirt dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2006, 08h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo