Bon, c'est pas grave, ca semble effectivement etre assez delicat puisque ca
n'a pas etre prevu a la base. A moins que ce fut possible au debut en
comparant simplement le `current_tpl` qui n'acceptait alors que les noms
standards ?

Merci !



2013/8/9 Franck Paul <[email protected]>

> En fait je ne suis pas certain qu'il y ait vraiment quelque chose à faire,
> ou alors faire en sorte que les plugins enregistrent un ??? de plus, mais
> quoi, sachant qu'un plugin peut enregistrer plusieurs schémas d'URLs et/ou
> plusieurs types de post, sans qu'il y ait forcément corrélation entre les
> deux.
>
> Peut-être un tableau associatif entre type de post et template servi, mais
> il peut y avoir des cas où la correspondance n'est pas univoque.
>
>
> Le 9 août 2013 18:47, Christopher Crouzet <[email protected]>
> a
> écrit :
>
> > Je ne suis pas sur de suivre ce qu'il y a avoir de ce cote la ?
> > `current_tpl` semble etre initialise par le premier argument passe a la
> > methode `dcUrlHandlers::serveDocument()`, et puis... c'est tout.
> > Faire une regexp la dessus pour en deduire le type par rapport au nom du
> > tpl ne marcherait pas si un plugineur venait a utiliser un template
> > `tataginette.html` pour ses posts.
> >
> >
> >
> > 2013/8/9 Franck Paul <[email protected]>
> >
> > > Alors il faut peut-être voir du côté du contexte $_ctx->current_tpl
> > >
> > >
> > > Le 9 août 2013 18:29, Christopher Crouzet <
> [email protected]
> > >
> > > a
> > > écrit :
> > >
> > > > L'idee serait de pouvoir savoir a quoi on a a faire du cote public.
> Un
> > > post
> > > > ? La home ? Les page des tags ? Autre ?
> > > > Au debut je pensais avoir trouve un moyen incassable de detecter les
> > > posts
> > > > en verifiant que `$ctx->current_tpl` retournait `post.html`, mais le
> > test
> > > > ne marche pas toujours puisque pour le plugin Agora de Greg par
> > exemple,
> > > le
> > > > fichier tpl utilise s'appelle `agora_post.html`. Apres les recents
> > > deboires
> > > > lies a ce thread, je me rend compte qu'on est un peu desampares a ce
> > > > niveau.
> > > >
> > > > Donc si il y avait un truc du genre `$ctx->current_tpl_type`, ca
> > pourrait
> > > > etre cool !
> > > >
> > > >
> > > >
> > > > 2013/8/9 Franck Paul <[email protected]>
> > > >
> > > > > Oui, en fait on va finir pas s'entendre sur une solution
> > satisfaisante
> > > > pour
> > > > > tout le monde et qui préservera l'existant.
> > > > >
> > > > > Donc il faudrait quoi exactement ?
> > > > >
> > > > >
> > > > > Le 9 août 2013 13:34, Christopher Crouzet <
> > > [email protected]
> > > > >
> > > > > a
> > > > > écrit :
> > > > >
> > > > > > J'avais initialement mal juge le probleme mais ai maintenant bien
> > > > compris
> > > > > > et suis tout a fait d'accord avec le fait que les fonctions
> > > existantes
> > > > > > marchent tres bien tel quel.
> > > > > >
> > > > > > Maintenant, et si j'ai tout aussi bien compris ton precedent
> > message,
> > > > ta
> > > > > > solution proposee serait de "hardcoder" chaque valeur possible de
> > > > > > `url->type` , comme c'est le cas avec le plugin breadcrumb (que
> > j'ai
> > > du
> > > > > > coup parcouru vite fait).
> > > > > > En tant que dev oriente objet, c'est pas le genre d'approche qui
> me
> > > > > branche
> > > > > > plus que ca, c'est pour ca qu'au lieu de "polluer" le core avec
> une
> > > > > methode
> > > > > > hardcodee, j'ai prefere faire ca directement dans mon
> > > > > > plugin<
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/christophercrouzet/dotclear-plugins-postsStats/commit/d6418331e37efc9086e58709a2421e4138e3df2d
> > > > > > >
> > > > > > .
> > > > > > Mais si il y a une approche plus "generique" et "bulletproof" qui
> > > > > passerait
> > > > > > par une petite modif du core, dans ce cas je suis tout ouie et me
> > > > > porterait
> > > > > > meme volontaire pour la coder si c'est dans mes cordes.
> > > > > >
> > > > > >
> > > > > >
> > > > > > 2013/8/9 Franck Paul <[email protected]>
> > > > > >
> > > > > > > Je n'ai pas dit qu'on ne pouvait rien faire dans le core, je
> dis
> > > > > > simplement
> > > > > > > que les fonctions présentes aujourd'hui font exactement le job
> > > > qu'elles
> > > > > > > sont censées faire.
> > > > > > >
> > > > > > > Je vois mal l'intérêt de modifier le comportement d'une
> fonction
> > > > > > existante,
> > > > > > > au risque de casser quelques plugins et/ou thèmes au passage,
> > pour
> > > > > > remplir
> > > > > > > un besoin que vous exprimez aujourd'huI.
> > > > > > >
> > > > > > > Ou alors je n'ai pas compris l'exposé initial du bug
> > > > > > >
> > > > > > >
> > > > > > > Le 9 août 2013 12:16, Christopher Crouzet <
> > > > > [email protected]
> > > > > > >
> > > > > > > a
> > > > > > > écrit :
> > > > > > >
> > > > > > > > Bon... si c'est pas possible d'avoir une solution propre et
> > > > generique
> > > > > > > > integree au core, tant pis pour les plugins qui decideront de
> > > > changer
> > > > > > > leur
> > > > > > > > `url->type` meme si c'est legitime. Je vais faire l'exception
> > > pour
> > > > > > Pages
> > > > > > > et
> > > > > > > > voila.
> > > > > > > >
> > > > > > > > Merci !
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > 2013/8/9 Franck Paul <[email protected]>
> > > > > > > >
> > > > > > > > > Alors il va vous falloir répertorier les types d'URL que
> vous
> > > > > voulez
> > > > > > > > gérer
> > > > > > > > > à l'image du plugin breadcrumb.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Le 9 août 2013 11:52, Greg <[email protected]> a écrit :
> > > > > > > > >
> > > > > > > > > > L'idée est d'identifier un simple test côté public pour
> > > > réaliser
> > > > > > des
> > > > > > > > > > opérations seulement seulement dans le contexte d'un
> billet
> > > > seul.
> > > > > > (de
> > > > > > > > > type
> > > > > > > > > > billet, pages, machin issu ce muppet, pollsFactory,
> etc..)
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Greg
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Le 9 août 2013 11:40, Franck Paul <
> > > > [email protected]>
> > > > > a
> > > > > > > > > écrit :
> > > > > > > > > >
> > > > > > > > > > > Je ne vois pas pourquoi il faudrait absolument corréler
> > le
> > > > type
> > > > > > de
> > > > > > > > post
> > > > > > > > > > > (stocké dans la base) et le schéma d'URL utilisé pour
> > > > > l'afficher.
> > > > > > > > > > >
> > > > > > > > > > > De plus je me demande s'il n'y a pas des plugins qui
> > > > permettent
> > > > > > de
> > > > > > > > > > changer
> > > > > > > > > > > le schéma d'URL des billets (post ou autre), il me
> semble
> > > que
> > > > > > Dsls
> > > > > > > > > avait
> > > > > > > > > > > codé un truc comme ça.
> > > > > > > > > > >
> > > > > > > > > > > Donc, non Pages n'est pas une exception et d'autre
> > peuvent
> > > > > faire
> > > > > > de
> > > > > > > > > même.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Maintenant le problème évoqué par Christopher est
> > différent
> > > > et
> > > > > > > > concerne
> > > > > > > > > > le
> > > > > > > > > > > template chargé pour afficher un contenu. Faudrait
> plutôt
> > > > > > regarder
> > > > > > > du
> > > > > > > > > > côté
> > > > > > > > > > > des schémas d'URLs je pense.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Le 9 août 2013 11:17, Greg <[email protected]> a écrit
> :
> > > > > > > > > > >
> > > > > > > > > > > > Il faut donner la préconisation aux codeurs de
> plugins
> > :)
> > > > > > > > > > > >
> > > > > > > > > > > > Et prier pour que les pages restent la seule
> exception.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > > Greg
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Le 9 août 2013 11:08, Christopher Crouzet <
> > > > > > > > > > [email protected]
> > > > > > > > > > > >
> > > > > > > > > > > > a
> > > > > > > > > > > > écrit :
> > > > > > > > > > > >
> > > > > > > > > > > > > Dans quel cas il n'est pas possible de connaitre
> pour
> > > sur
> > > > > le
> > > > > > > type
> > > > > > > > > > d'un
> > > > > > > > > > > > post
> > > > > > > > > > > > > a moins de savoir comment chaque plugin definit son
> > URL
> > > > !?
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > 2013/8/9 Greg <[email protected]>
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Tu as une exception SI le plugin définit un type
> > > d'URL
> > > > > > > > différent
> > > > > > > > > du
> > > > > > > > > > > > type
> > > > > > > > > > > > > de
> > > > > > > > > > > > > > billet comme c'est le cas avec le plugin Pages.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --
> > > > > > > > > > > > > > Greg
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Le 9 août 2013 10:59, Christopher Crouzet <
> > > > > > > > > > > > [email protected]
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > a
> > > > > > > > > > > > > > écrit :
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > En effet, j'ai repondu sans reflechir, pardon
> :)
> > > > > > > > > > > > > > > Ma question serait donc plutot : comment savoir
> > > qu'un
> > > > > > > fichier
> > > > > > > > > > > > template
> > > > > > > > > > > > > > > charge correspond donc bien a l'un de ces types
> > si
> > > on
> > > > > ne
> > > > > > > peut
> > > > > > > > > pas
> > > > > > > > > > > > faire
> > > > > > > > > > > > > > la
> > > > > > > > > > > > > > > comparaison avec url->type? Est-ce qu'il y a
> une
> > > > > methode
> > > > > > > > > > generique
> > > > > > > > > > > > pour
> > > > > > > > > > > > > > ca
> > > > > > > > > > > > > > > ou est-ce qu'il faut creer une exception pour
> > > chaque
> > > > > > plugin
> > > > > > > > qui
> > > > > > > > > > > > > > deciderait
> > > > > > > > > > > > > > > de creer un nouveau type de post ?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > 2013/8/9 Franck Paul <
> > [email protected]
> > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Si justement getPostTypes retourne ça.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > On y trouve, comme clés, *post* et *page* sur
> > une
> > > > > > > > > installation
> > > > > > > > > > > par
> > > > > > > > > > > > > > > défaut.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Le 9 août 2013 10:50, Christopher Crouzet <
> > > > > > > > > > > > > > [email protected]
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > écrit :
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Argh, je suis un peu perdu... le nom de la
> > > > methode
> > > > > > > > > > > `getPostTypes`
> > > > > > > > > > > > > me
> > > > > > > > > > > > > > > > > semblait pourtant explicite.
> > > > > > > > > > > > > > > > > N'y a-t-il donc pas de methode existante
> pour
> > > > > > recuperer
> > > > > > > > > tous
> > > > > > > > > > > les
> > > > > > > > > > > > > > > > differents
> > > > > > > > > > > > > > > > > types de posts enregistres/enregistrables
> > dans
> > > la
> > > > > > table
> > > > > > > > > > > > `dc_post` ?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > 2013/8/9 Franck Paul <
> > > > [email protected]
> > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Attention, il me semble que post_type et
> > > > > url->type
> > > > > > > sont
> > > > > > > > > > deux
> > > > > > > > > > > > > choses
> > > > > > > > > > > > > > > > > > différentes.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Le plugin Pages enregistre un schéma
> d'URL
> > > avec
> > > > > > > > …/pages/…
> > > > > > > > > > et
> > > > > > > > > > > un
> > > > > > > > > > > > > > type
> > > > > > > > > > > > > > > de
> > > > > > > > > > > > > > > > > > post "page"
> > > > > > > > > > > > > > > > > > Que la fonction url->type retourne
> "pages"
> > > est
> > > > > > > conforme
> > > > > > > > > > avec
> > > > > > > > > > > le
> > > > > > > > > > > > > > > schéma
> > > > > > > > > > > > > > > > > > enregistré.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Le 9 août 2013 09:56, Christopher
> Crouzet <
> > > > > > > > > > > > > > > > [email protected]
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > > > écrit :
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/christophercrouzet/dotclear-plugins-postsStats/commit/f1ba358434b5b65b91d3e040f2671a61a81d3c16
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Bonjour,
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > suite au commentaire d'Osku sur le lien
> > > plus
> > > > > > haut,
> > > > > > > il
> > > > > > > > > > > > > semblerait
> > > > > > > > > > > > > > > > qu'il
> > > > > > > > > > > > > > > > > y
> > > > > > > > > > > > > > > > > > > ait potentiellement un bug au niveau de
> > > > > > > > > > > > dcCore::getPostTypes()
> > > > > > > > > > > > > > > > > puisqu'il
> > > > > > > > > > > > > > > > > > ne
> > > > > > > > > > > > > > > > > > > reconnait pas les posts generes par le
> > > plugin
> > > > > > > Pages.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > En effet, sur un post genere par le
> > plugin
> > > > > Pages,
> > > > > > > la
> > > > > > > > > > valeur
> > > > > > > > > > > > > > > > > > > dcCore::url_type retourne 'pages',
> alors
> > > > qu'un
> > > > > > > appel
> > > > > > > > a
> > > > > > > > > > > > > > > > > > > dcCore::getPostTypes() retourne un
> Array
> > > avec
> > > > > > comme
> > > > > > > > > clef
> > > > > > > > > > > > > 'page'.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Comme ca, je dirais que le
> > dcCore::url_type
> > > > > > devrait
> > > > > > > > > > > retourner
> > > > > > > > > > > > > > > 'page',
> > > > > > > > > > > > > > > > > > pour
> > > > > > > > > > > > > > > > > > > se conformer a 'post', mais vu que ca
> > > > > risquerait
> > > > > > de
> > > > > > > > > > casser
> > > > > > > > > > > > > > certains
> > > > > > > > > > > > > > > > > > > plugins, peut-etre qu'il serait mieux
> de
> > > > > mettre a
> > > > > > > > jour
> > > > > > > > > la
> > > > > > > > > > > > > methode
> > > > > > > > > > > > > > > > > > > dcCore::getTypes a la place ?
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > A moins que tout ca soit un
> comportement
> > > > voulu
> > > > > ?
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Christopher.
> > > > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > > > Dev mailing list -
> [email protected]
> > > > > > > > > > > > > > > > > > > http://ml.dotclear.org/listinfo/dev
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > > Franck
> > > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > > 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
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > 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
> > > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > > Dev mailing list - [email protected] -
> > > > > > > > > > > > http://ml.dotclear.org/listinfo/dev
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > > > Franck
> > > > > > > > > > > --
> > > > > > > > > > > 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
> > > > > > > > >
> > > > > > > > --
> > > > > > > > Dev mailing list - [email protected] -
> > > > > > > > http://ml.dotclear.org/listinfo/dev
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Franck
> > > > > > > --
> > > > > > > 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
> > > > >
> > > > --
> > > > Dev mailing list - [email protected] -
> > > > http://ml.dotclear.org/listinfo/dev
> > > >
> > >
> > >
> > >
> > > --
> > > Franck
> > > --
> > > 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
>
-- 
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à