Bonsoir,
Une question au passage, est-ce qu'il ne faudrait pas que la fonction
getURLFor() soit un peu permissive dans le cas où le paramètre
supplémentaire est fourni et où dans ce cas elle pourrait insérer le
'/' séparant les deux, base et valeur, uniquement s'il n'est pas déjà
présent dans la base, voire dans au début de valeur ?
Franck
Le 28 novembre 2011 18:40, Dsls <dsls(a)morefnu.org> a écrit :
Hello,
Suite à la discussion initiée par adjaya sur le forum
(
http://forum.dotclear.org/viewtopic.php?id=45666), j'ai commité ce
matin un petit tuning sur la gestion des URL publiques d'un blog,
ainsi que les behaviors qui vont bien.
Ainsi, pour "afficher" une URL publique, un plugin utilisait en
général $core->blog->url.$core->url->getBase($type)."/".[id de
l'item
qui suit].
Pour harmoniser le tout, les plugins pourront désormais utiliser
$core->url->getURLFor($type,[id de l'item]) , le second paramètre
étant facultatif.
Il est alors possible de surcharger le tout via le nouveau behavior
publicGetURLFor. Un plugin pourra ainsi changer à l'envi les URLs
qu'il souhaite.
Ce behavior a son pendant côté parsing de l'URL. Il est ainsi possible
de jouer sur l'enregistrement auprès de l'URLHandler en amont, et plus
seulement a posteriori.
Le behavior publicRegisterURL permet de modifier certains paramètres
des URLS enregistrées, avant leur enregistrement. Il prend comme
paramètre un tableau (par référence) contenant
$type,$url,$representation,$handler.
Ces derniers peuvent ainsi être modifiés avant l'appel à register
proprement dit.
Je regarderai ces prochains jours, et avant la prochaine release, si
certain micro-tunings de ce type sont encore réalisables à d'autres
endroits.
--
Bruno
_______________________________________________
Dev mailing list
Dev(a)list.dotclear.org
http://ml.dotclear.org/listinfo/dev