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

Répondre à