Le 18 novembre 2011 13:17, Franck Paul <carnet.franck.paul(a)gmail.com> a écrit :
Le 18 novembre 2011 12:58, Dsls <dsls(a)morefnu.org> a écrit :
>> J'ai un plugin sur le feu qui permet de préciser l'ordre d'affichage
>> des billets en fonction de la catégorie (et uniquement dans le
>> contexte catégorie). Pour faire ça j'ai codé un behaviour qui remplit
>> (ou modifie) le $params['order'] en fonction des réglages effectués
>> côté admin du plugin. Sauf qu'en l'état l'élément du tableau modifié
>> (avec succès par ma fonction, j'ai tracé ça) n'est pas rémanent une
>> fois de retour après l'appel. D'où ma question.
>>
>> En gros je trouvais qu'un behaviour dispo à ce niveau permettait de
>> jouer avec les $params juste avant que ce ne soit transformé en
>> requête SQL.
>
> Il s'agit donc bien d'un souhait de changement de comportement coté
> public. L'emplacement du behavior me semble donc mal positionné, vu
> que dans ton cas, il risque d'avoir pas mal d'effets de bord.
> Certes, on s'en sort un peu si tu surcharges le behavior dans le
> _public.php de ton plugin, la surcharge ne se fera que coté public du
> blog, mais tout appel à getPosts coté public sera modifié par ton
> plugin...
>
> J'allais proposer de le placer directement dans class.dc.template.php,
> mais mon brouillon d'autre mail me fait changer le fusil d'épaule.
>
> Attends-donc mon prochain mail sur la list, pour un sujet plus global...
Ok je remets mon plugin dans sa boîte en attendant la suite…
Cela dit, juste pour savoir, hormis en passant par un ArrayObject il
n'y a pas de moyen de modifier le tableau passé en paramètre d'un
behaviour ?