Ouvre un ticket dans ce sens, des fois que :-p
Le 22 août 2013 23:00, Christopher Crouzet <[email protected]>a écrit : > 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 > -- Franck -- Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev
