critère de tri selon plugin activé

Bonjour

Petit exercice pour spipeur bidouilleur :

Soit la boucle

<BOUCLE_articles_rubs(ARTICLES){id_rubrique}>

Je voudrais que si le plugin "Tri des articles par rubrique" est activé, on rajoute le critère {tri_rubrique}
Et s'il n'est pas activé, on rajoute les critères {par num titre}{par date}{inverse}

J'ai testé des trucs à partie de #SET et #GET ou à partir d'INCLURE mais sans résultat.

Une idée, une piste pour arriver à mes fins ?

JC

Hello,

Tu as essayer un « utilise » dans ton paquet ?
9a devrait géré si le plugins est dispo ou pas du coup.

Le problème n’est pas vraiment là.
Je ne peux pas savoir à l’avance si le plugin est présent ou pas.
Et je voudrais trier les articles en fonction de la présence ou de l’absence du plugin.

Si pas de plugin
<BOUCLE_articles_rubs(ARTICLES){id_rubrique}{par num titre}{par date}{inverse}>
si plugin
<BOUCLE_articles_rubs(ARTICLES){id_rubrique}{tri_rubrique}>

Sachant que la boucle utilise aussi les parties optionnelles avant et après des boucles

Avec un {si #PLUGIN{truc}|oui} dans ta boucle

Jean-Christophe Villeneuve a écrit le 28/08/2019 à 15:53 :

Bonjour

Petit exercice pour spipeur bidouilleur :

Soit la boucle

<BOUCLE_articles_rubs(ARTICLES){id_rubrique}>

Je voudrais que si le plugin "Tri des articles par rubrique" est activé, on rajoute le critère {tri_rubrique}
Et s'il n'est pas activé, on rajoute les critères {par num titre}{par date}{inverse}

J'ai testé des trucs à partie de #SET et #GET ou à partir d'INCLURE mais sans résultat.

Une idée, une piste pour arriver à mes fins ?

JC

Dans SoyezCréateurs, j'ai ceci dans _fontions.php :
if (!defined('_DIR_PLUGIN_MOTSAR')) {
  function critere_branche_mot_dist($idb, &$boucles, $crit){
    // Ne rien faire
  }
}

À adapter pour ton cas pour, à la place de ne rien faire, faire
{par num titre}{par date}{inverse}

--
RealET

Salut,

Vu que le plugin tri_rubrique surcharge les listes d’objets tu ne pourras pas vraiment en squelette avoir une seule boucle, il faudra faire des conditions et des inclures.

Il faudrait voir si il n’y a pas possibilite d’implémenter tri_rubrique dans le critère {par } ou {tri } ce qui pourrait permettre d’avoir des filtres plus flexible.

Le mer. 28 août 2019 à 16:14, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net> a écrit :

Le problème n’est pas vraiment là.
Je ne peux pas savoir à l’avance si le plugin est présent ou pas.
Et je voudrais trier les articles en fonction de la présence ou de l’absence du plugin.

Si pas de plugin
<BOUCLE_articles_rubs(ARTICLES){id_rubrique}{par num titre}{par date}{inverse}>
si plugin
<BOUCLE_articles_rubs(ARTICLES){id_rubrique}{tri_rubrique}>

Sachant que la boucle utilise aussi les parties optionnelles avant et après des boucles

Le 28/08/2019 à 15:59, Pierre KUHN a écrit :

Hello,

Tu as essayer un « utilise » dans ton paquet ?
9a devrait géré si le plugins est dispo ou pas du coup.

Le mer. 28 août 2019 à 15:55, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net> a écrit :

Bonjour

Petit exercice pour spipeur bidouilleur :

Soit la boucle

<BOUCLE_articles_rubs(ARTICLES){id_rubrique}>

Je voudrais que si le plugin « Tri des articles par rubrique » est activé,
on rajoute le critère {tri_rubrique}
Et s’il n’est pas activé, on rajoute les critères {par num titre}{par
date}{inverse}

J’ai testé des trucs à partie de #SET et #GET ou à partir d’INCLURE mais
sans résultat.

Une idée, une piste pour arriver à mes fins ?

JC


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Pierre KUHN
http://www.voisins-spipeurs.net


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Oui j'y ai bien pensé aussi mais je ne suis pas arrivé à écrire un truc fonctionnel.

Le 28/08/2019 à 16:16, Pierre KUHN a écrit :

Avec un {si #PLUGIN{truc}|oui} dans ta boucle

Le mer. 28 août 2019 à 16:14, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net <mailto:jcvilleneuve@cegetel.net>> a écrit :

    Le problème n'est pas vraiment là.
    Je ne peux pas savoir à l'avance si le plugin est présent ou pas.
    Et je voudrais trier les articles en fonction de la présence ou de
    l'absence du plugin.

    Si pas de plugin
    <BOUCLE_articles_rubs(ARTICLES){id_rubrique}{par num titre}{par
    date}{inverse}>
    si plugin
    <BOUCLE_articles_rubs(ARTICLES){id_rubrique}{tri_rubrique}>

    Sachant que la boucle utilise aussi les parties optionnelles avant
    et après des boucles

    Le 28/08/2019 à 15:59, Pierre KUHN a écrit :

    Hello,

    Tu as essayer un "utilise" dans ton paquet ?
    9a devrait géré si le plugins est dispo ou pas du coup.

    Le mer. 28 août 2019 à 15:55, Jean-Christophe Villeneuve
    <jcvilleneuve@cegetel.net <mailto:jcvilleneuve@cegetel.net>> a
    écrit :

        Bonjour

        Petit exercice pour spipeur bidouilleur :

        Soit la boucle

        <BOUCLE_articles_rubs(ARTICLES){id_rubrique}>

        Je voudrais que si le plugin "Tri des articles par rubrique"
        est activé,
        on rajoute le critère {tri_rubrique}
        Et s'il n'est pas activé, on rajoute les critères {par num
        titre}{par
        date}{inverse}

        J'ai testé des trucs à partie de #SET et #GET ou à partir
        d'INCLURE mais
        sans résultat.

        Une idée, une piste pour arriver à mes fins ?

        JC
        _______________________________________________
        liste spip
        spip@rezo.net <mailto:spip@rezo.net> - désabonnement :
        envoyer un mail à spip-off@rezo.net <mailto:spip-off@rezo.net>

        Archives :
        https://www.mail-archive.com/spip@rezo.net/maillist.html

        Infos : https://listes.rezo.net/mailman/listinfo/spip

        Documentation de SPIP : http://www.spip.net/

        Irc : de l'aide à toute heure : http://spip.net/irc

    --

    Pierre KUHN
    http://www.voisins-spipeurs.net

    _______________________________________________
    liste spip
    spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un
    mail à spip-off@rezo.net <mailto:spip-off@rezo.net>

    Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

    Infos : https://listes.rezo.net/mailman/listinfo/spip

    Documentation de SPIP : http://www.spip.net/

    Irc : de l'aide à toute heure : http://spip.net/irc

--

Pierre KUHN
http://www.voisins-spipeurs.net

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

<BOUCLE_articles_rubs(ARTICLES){id_rubrique}{tri_rubrique}{si #PLUGIN{test}|oui}>
</B_articles_rubs>

ton autre boucle si pas le plugins
<//B_articles_rubs>

Oui mais cela m’oblige à dupliquer toute ma boucle juste pour un critère de tri …
Je cherche plus élégant si possible

ouh là c'est bien compliqué pour mes petits neurones ça !

car je voudrais n'agir que sur cette boucle précise
et si le plugin est activé, je ne veux pas {par num titre}{par date}{inverse} mais seulement {tri_rubrique}

Le 28/08/2019 à 16:24, RealET a écrit :

Jean-Christophe Villeneuve a écrit le 28/08/2019 à 15:53 :

Bonjour

Petit exercice pour spipeur bidouilleur :

Soit la boucle

<BOUCLE_articles_rubs(ARTICLES){id_rubrique}>

Je voudrais que si le plugin "Tri des articles par rubrique" est activé, on rajoute le critère {tri_rubrique}
Et s'il n'est pas activé, on rajoute les critères {par num titre}{par date}{inverse}

J'ai testé des trucs à partie de #SET et #GET ou à partir d'INCLURE mais sans résultat.

Une idée, une piste pour arriver à mes fins ?

JC

Dans SoyezCréateurs, j'ai ceci dans _fontions.php :
if (!defined('_DIR_PLUGIN_MOTSAR')) {
function critere_branche_mot_dist($idb, &$boucles, $crit){
// Ne rien faire
}
}

À adapter pour ton cas pour, à la place de ne rien faire, faire
{par num titre}{par date}{inverse}

En modifiant un peu le code de Pierre et avec des INCLURE
[(#PLUGIN{truc}|oui)]
[(#PLUGIN{truc}|non)<INCLURE boucle 2>]
Ça ne le ferait pas?