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

Répondre à