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] Écriture d'un plugin


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Par défaut [Smarty] Écriture d'un plugin
    Bonjour,

    Voila ma problématique,j'ai une page header.tpl.php que je place dans toutes les pages du site et je cherche a écrire du code html qui est spécifique qui à certaines page. J'ai penser faire un test avec smarty du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {if nompage==="ma_page"}<p> texte</p> {/if}
    et pour cela j'ai écrit un plugin smarty dont voila le code :
    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
    /**
     * Smarty plugin
     * @package Smarty
     * @subpackage plugins
     */
     
    /**
     * Smarty {assign_debug_info} function plugin
     *
     * Type:     function<br>
     * Name:     nompage<br>
     * Purpose:  recherche le nom de la page en cours<br>
     * @param array unused in this plugin, this plugin uses {@link Smarty::$_config},
     *              {@link Smarty::$_tpl_vars} and {@link Smarty::$_smarty_debug_info}
     * @param Smarty
     */
    function smarty_function_nompage($params, &$smarty)
    {
       return  basename ($_SERVER['PHP_SELF'],".php");
     
    }
     
    /* vim: set expandtab: */
     
    ?>
    lorsque je fait afficher nom_page , le nom de la page s'affiche correctement, mais le test ne marche pas. Si je suis dans ma_page.php le code html n'est pas écrit.

    Quelqu'un peut il m'aider pour trouver une solution?
    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Je pense que vous vous y êtes mal pris, en faites les plugins du style function ne s'appelle pas de cette manière.
    {nompage} est la seule façon de l'appeler, passez lui les conditions directement dans celui-ci ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {php}
    if ({/php} {nompage} {php}==="ma_page")
    echo '<p> texte</page>';
    {/php}
    Sans certitude que cela fonctionne, j'ai pas tester

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Par défaut
    merci pour la réponse

    Après test ça ne marche pas, j'ai une erreur dont je ne vois pas l'origine
    Parse error: syntax error, unexpected ';' in E:\xxxx\%%8D^8D8^8D845330%%header.tpl.php.php on line 45
    Sinon, s'il faut passer par les "balises" {php} autant mettre tout en php sans passer par smarty pour aller chercher le nom de la page. C'est ce que je cherchais a éviter...

    J'ai vu qu'en dehors des plugins function, il y a des plugins modifier, mais jai pas compris la différence entre les 2. Est-ce que cela pourrait être une réponse à ma problématique et si oui comment est ce que je dois construire le plugin?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Pour expliquer la différence entre les 2, je dirai que le modifier est une fonction avec paramètre pour modifier un ou des éléments de votre tpl.
    Du genre les fonctions trim, htmlentities, preg_replace,urlencode,urldecode, ect...
    Par contre un plugin function est plus orienté accessoire du style calendrier, afficher la dernière photos du jour, ect....
    Voici un lien qui je crois vous sera utile: http://smarty.incutio.com/?page=SmartyPlugins

    Pour en revenir a votre problème, vous pouvez définir vos conditions directement dans le plugin c'est plus propre.
    Vous lui passez un paramètre supplémentaire avec $page par exemple, dans le lien que je vous ai donné il y as des tas d'exemple.

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Par défaut
    merci pour la réponse, je vais consulter ce lien avec attention...

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Par défaut
    aie je tombe sur une page blanche

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

Discussions similaires

  1. [Smarty] Smarty 3.0.8 | Formulaires et Plugins ?
    Par Krooon dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/09/2011, 22h34
  2. [Smarty] Plugin compétitif?
    Par arnogb69 dans le forum NetBeans
    Réponses: 0
    Dernier message: 03/03/2011, 12h11
  3. Plugin Smarty pour Netbeans
    Par tibotibo69 dans le forum NetBeans
    Réponses: 2
    Dernier message: 03/09/2009, 09h57
  4. Réponses: 2
    Dernier message: 18/01/2008, 10h27
  5. [Plugin]écriture intuitive ?
    Par gaild dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/08/2004, 23h59

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