Smarty Forum Index Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon.

classe smarty herité et plugin

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French
View previous topic :: View next topic  
Author Message
jeanmary
Smarty n00b


Joined: 04 Jan 2006
Posts: 2

PostPosted: Wed Jan 04, 2006 2:33 pm    Post subject: classe smarty herité et plugin Reply with quote

hello ... je me suis fais une p'tite classe herité

Code:
class my_smarty extends Smarty
{
      function my_smarty()
      {
                          $this->Smarty();

         $this->template_dir = PATH_WEB .'/templates/';
              $this->compile_dir = PATH_WEB .'/templates_c/';
              $this->config_dir = PATH_WEB .'/configs/';
              $this->cache_dir = PATH_WEB .'/cache/';

                         // on charge quelques extensions
         //$this->register_modifier("brocoli", smarty_modifier_brocoli");
                  //$this->register_outputfilter("smarty_outputfilter_make_accolade");
                 }

}

// liste des plugins
      function smarty_outputfilter_make_accolade($output, &$smarty)
      {
         $output = str_replace("<<", "{", $output);
         $output = str_replace(">>", "}", $output);
         return $output;
      }

      function smarty_modifier_brocoli($string)
      {
         if(!$string) { return "_"; }
         $string = str_replace("/", "___", $string);
         return urlencode($string);
      }


j'ai juste des soucis avec les plugsin...

1/ les plugs in de outputfilter : ca marche tout le temps, pas de souci
2/ les plugs in de modifier: la, ca deconne de temps en temps
ca marche pas si je les definie via register_modify
ca ne marche pas avec un fichier texte dans un un path perso (que je rajoute dans le tableau $plugins_dir)
en gros, j'ai la sensation que le classe smarty perd des objets quand je bosse avec une classe heritée...

une solution? ne pas passé par une classe hérité?
Back to top
View user's profile Send private message
bonvga
Smarty Rookie


Joined: 17 Mar 2005
Posts: 6

PostPosted: Wed Jun 21, 2006 9:38 pm    Post subject: Reply with quote

Hello,

1/ vu le code de ton output_filter je te conseil d'utiliser plutot les balises smarty {rdelim} et {ldelim} (ou aussi {literal}) directement dans tes templates. c'est plus performant que l'output_filter avec un replace massif.

2/ déclarer un modifier avec register_modifier, perso j'ai jamais essayé. Par contre creer un modifier (externe) de toute piece c'est relativement simple. regarde dans le répertoire 'modifier' de ton installation de smarty.

jeanmary, brocoli en noms de fonctions... tu me rappel quelqu'un, t'as pas bossé chez CD par hasard ?
Back to top
View user's profile Send private message Visit poster's website
jeanmary
Smarty n00b


Joined: 04 Jan 2006
Posts: 2

PostPosted: Thu Jun 22, 2006 8:25 am    Post subject: Reply with quote

ok merci
en fait j'utilisais ca pour une raison tres simple: c dans le cas ou je veux utiliser smarty avec de la css et de la variable ou du javascript

c pour eviter de mettre des {literal} a chaque ligne
je pourrais aussi utiliser un autre delimitateur...
mais bon , en fait, j'ai reussi a resoudre ce probleme..

sinon pour la devinette: gagné...
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP