Beurk ;(

La je suis en train de me dire que si seulement il y avait un autre
behavior place un peu plus haut dans la methode `dcTemplate::EntryIf()`, ca
pourrait me permettre d'initialiser ma variable pour ensuite l'utiliser
dans la condition if.
Ca coute rien en plus, non ?

Je vais tester pour verifier que ca marche, tiens.



2013/8/22 Greg <[email protected]>

> Pour le plugin agora, j'ai codé ce que tu n'as pas envie de faire et ça
> marche très bien.
>
> Si le core peut s'étendre, faut pas te priver :)
>
> --
> Greg
>
>
> Le 22 août 2013 22:47, Christopher Crouzet
> <[email protected]>a écrit :
>
> > Hello !
> >
> >
> > Je suis en train de dev un nouveau plugin, et je ne suis pas trop sur de
> > comment m'y prendre avec le behavior `tplIfConditions` vu que j'ai
> > l'impression de l'utiliser de maniere "non standard".
> >
> > La maniere "standard" de l'utiliser ressemblerait a un truc du genre :
> >
> > <?php
> > $core->addBehavior( 'tplIfConditions', array( 'PublicTestBehavior',
> > 'tplIfConditions' ) );
> >
> > class PublicTestBehavior
> > {
> >   public static function tplIfConditions( $tag, $attr, $content, $if )
> >   {
> >     if ( $tag == 'EntryIf' && isset( $attr['my_attr'] ) ) {
> >       $if[] = '$_ctx->posts->myMethod()';
> >     }
> >   }
> > }
> > ?>
> >
> >
> >
> > Pour que ca marche, il faut etendre la classe `rsExtPost` via le behavior
> > `coreBlogGetPosts` pour lui rajouter la methode `myMethod`. C'est ce que
> > j'avais fait au debut sur mon autre plugin mais j'ai finalement opte pour
> > definir une classe a part qui s'initialise avec un objet de type
> > `rsExtPost` et qui centralise tout le necessaire pour que le plugin
> marche
> > sans avoir a etendre des classes natives dans tous les sens. Au moins
> comme
> > ca, c'est plus clean.
> >
> > Mais en faisant de cette facon, ca devient un peu plus complique pour
> > rajouter une condition dans `tplIfConditions`. En effet, il faudrait que
> je
> > puisse faire rentrer le code suivant dans la variable `$if`, ce qui ne me
> > semble pas possible d'apres mes connaissances limitees en PHP :
> >
> > $test = new Test( $_ctx->posts );
> > $test->myMethod();
> >
> >
> > Puisque ca correspondrait au final a avoir un truc du genre :
> >
> > if ( $test = new Test( $_ctx->posts ); $test->myMethod() ) { ... }
> >
> >
> > J'aimerais vraiment eviter de revenir a rajouter des methodes
> directement a
> > `rsExtPost` mais tel que c'est le cas maintenant, et apres avoir essaye
> > quelques variations, je suis un peu bloque... des idees ?
> >
> >
> > Merci !
> > Christopher.
> > --
> > Dev mailing list - [email protected] -
> > http://ml.dotclear.org/listinfo/dev
> >
> --
> Dev mailing list - [email protected] -
> http://ml.dotclear.org/listinfo/dev
>
-- 
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à