Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Appel de fonctions dans les templates

Posted by obi on 06/27/2006 19:36

Lors de l'écriture d'un template, il arrive qu'on aie envie d'apeller directement une fonction qui ne soie pas liée au contrôleur, une mise en forme sytématique à partir d'objects métiers par exemple, ou un check de droits (soit dit en passant, jAcl est vraiment sympa et puissant). J'aimerais pouvoir appeller ces fonctions comme on appelle jurl ou les opérateurs de contrôle; par ex:

 {jaclcheck 'news' 4}
    <a href="{jurl news news_edit}">Edit news</a>
 {/jaclcheck}

c'est utile aussi dans un foreach

 {foreach $matable as $monobjet}
   {affect paramArray array('id'=>monobjet->id())}
   {foreach $actionList as $action}
     <a href="{jurl monModule monControlleur_$action $paramArray}">$action</a>
   {/foreach}
 {foreach}

et dans plein d'autres cas je suis sûr. Il y a un début dans la doc, mais pas trop d'indications sur comment faire et ce qu'il est possible de faire. A l'aide donc.

  [Opened] Re: Appel de fonctions dans les templates

Reply #1 Posted by laurentj on 06/28/2006 10:06

{jaclcheck} : j'ai prévue d'ajouter ce genre de truc..

en ce qui concerne {affect}, son vrai nom, c'est {assign} ;-) Et la syntaxe c'est une expression php

 {assign $paramArray=array('id'=>$monobjet->id())}

sinon pour ça :

 {jurl news news_edit}

Tu as voulu plutôt marqué ça non ?

 {jurl "news~news_edit"}

Enfin pour le

  {jurl monModule monControlleur_$action $paramArray}

Déjà, je pense que tu as voulu écrire ceci :

  {jurl "monModule~monControlleur_".$action $paramArray}

Il me semble que ceci fonctionne. (me rappelle plus). Si ce n'est pas le cas, tu peux toujours passer par un assign

  {assign $act="monModule~monControlleur_".$action}
  {jurl $act $paramArray}

Mise à part ça, je ne vois pas le rapport avec ta question "d'appels de fonctions dans les templates"

  [Opened] Re: Appel de fonctions dans les templates

Reply #2 Posted by obi on 06/28/2006 14:08

Désolé pour la syntaxe approximative, c'est fait de tête :o/ Bon, déjà le {assign} m'enlève une épine du pied. Je regarde si ça ne résout pas par hasard mon problème dans son ensemble.

 
Page
  1. Re: Appel de fonctions dans les templates