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] Variables et HTML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 13
    Points : 9
    Points
    9
    Par défaut [Smarty] Variables et HTML
    Bonjour,

    J'ai découvert Smarty il y a quelques jours et je trouve ça super pratique.

    J'ai installé la classe SmartyML pour la version multilingue, donc mes variables sont sous la forme ##nom_de_la_var## et leurs valeurs se trouvent dans des fichier *.lng correspondant à la langue.

    Ma question peut paraître bête mais ça serait bien pratique :

    Il y a-t-il un moyen de mettre du code HTML directement dans les variables ?

    Par exemple j'ai une variable mon_lien=<a href="blabla.html">Blabla</a>
    Mais cela ne marche pas. J'ai remarqué que seuls les balises simples sans attributs tels que <span> ou <b> marchent.

    Lorsqu'il y a un attribut comme sur <span class="test"> ça ne marche plus.

    Je sais que le but de Smarty n'est pas d'écrire du HTML avancé dans les variables mais ça me simplifierait pas mal la tache.

    Merci pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut petite info
    salut je vais pas t'aider beaucoup puisque moi aussi je suis debutante ,mais si j'ai bien compris ta question alors oui c'est possible:

    Dans mon fichier include/common.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
    function show_me_the_way_clic($root, $url_r = true)
    {
    ......
    {
    ......
    if ($title_chemin == '')
    {$title_chemin='><h1><ahref="'.$re->buildUrl('category',array('name'=>$category->getVar('name'),'id'=>$category->getVar('id'))).'">'.$category->getVar('name').'</a></h1>'.$title_chemin;} 
    else
    {$title_chemin='><ahref="'.$re->buildUrl('category',array('name'=>$category->getVar('name'),'id'=>$category->getVar('id'))).'">'.$category->getVar('name').'</a>'.$title_chemin;}
    }
    $title_chemin="<ahref='./'title='".$lang['home']."'>".$lang['home'].'</a>'.$title_chemin;
    return $title_chemin;
    }
    dans include/fonction/main.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function displayWay($racine)
    {
    	global $CONFIG;
    	$smarty =& TemplateEngine::getInstance();
    	$way = show_me_the_way_clic($racine, $CONFIG['url_rewriting']);
    	$smarty->assign("way_to_cat",$way);
    }
    dans main.html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="titre">
    	<{$way_to_cat}>
    </div>
    //ex affichage: accueil > assurance > assurance voiture
    //ce sont tous des liens et assurance voiture en h1
    Voila réessaye ca doit marcher , si ta des question j'essayerai d'y repondre !
    bon courage pour la suite...
    Céline

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    merci pour ta réponse.

    Cependant je cherchais quelque chose de moins dur à mettre en place.

    J'ai finalement trouvé que le problème venait des = dans les balises car smartyML fait un explode( "=" ) pour séparer les variables.

    Donc j'ai tout simplement modifier smartyML pour qu'il n'y ai plus de problème en mettant du HTML dans les variables.

    Voici la partie modifiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            foreach ($entries as $row) {
              if (substr(ltrim($row),0,2) == '//') // ignore comments
                continue;
              $keyValuePair = explode('==',$row);
              // multiline values: the first line with an equal sign '==' will start a new key=value pair
    J'ai juste mis un explode ("==") et modifier toutes mes variables en les affectants de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ma_variable==<span class="rouge">Ceci est un exemple</span>
    Voila, c'est simple et efficace

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/11/2008, 14h18
  2. Variable du HTML vers flash
    Par edophie dans le forum Dynamique
    Réponses: 1
    Dernier message: 25/03/2008, 13h19
  3. [PHP-JS] passage de variable de html vers php
    Par chartoire dans le forum Langage
    Réponses: 8
    Dernier message: 27/02/2008, 08h08
  4. Afficher un résultat sans appuyer sur la touche (Variable Php -> HTML -> Javascript)
    Par nafix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/01/2008, 21h34
  5. [AS3] Transmission variable depuis html/php
    Par Clorish dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 11/07/2007, 11h03

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