comment imbriquer catList et lastArtList ?

comment faire ?

en fait je voudrais lister le dernier article de chaque catégorie !
le faite de pouvoir imbriquer les deux fonctions aurait été la solution mais tel quel ce n'est pas possible

donc j'utilise la solution proposé par Stéphane dans le wiki (lister tous les articles d'une catégorie dans une page statique) ou 'cat_id' = [0-9]{3}

et je fais un 'break' dans la boucle du 'while' pour n'avoir que le dernier article ...

mais il me manque le status / active / noactive de la catégorie et de l'article

donc si quelqu'un pouvait me dire comment faire ...

j'utilise un if ($plxMotor->mode == 'article') ou if ($plxMotor->mode == 'categorie')
pour savoir si je suis sur un article ou dans une catégorie
mais je ne sais pas comment récupérer l'id

merci de votre aide si précieuse

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour grenouille

    Je te renvoie à cette nouvelle page du wiki

    Lister les articles par catégories dans une page statique

    J'ai mis à jour le code pour répondre à te demande. Tout est expliqué sur le wiki.

    Du coup l'ancienne page

    Lister tous les articles par catégorie dans une page statique devient obsolète. Je la laisse quand même sur le wiki pour les parties de code dédiées aux anciennes version de PluXml.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • ok super
    merci stephane

    juste encore une petite derniere question sur les regex
    si $catList a la valeur [0-9]{3} donc toutes les categories

    mais si je voudrais toutes les categories sauf la 002

    faut il ecrire 001|003|004|005... ??? (pas marrant quand on a 91 categories)
  • avril 2010 modifié
    ou simplement un truc du genre :
    [^002]
    En gros filtrer et rejeter uniquement le(s) numero(s) de la(les) categorie(s) concernée(s) , plutôt que de listées celle qui sont autorisées.

    GC

    <edit> sans reaction et sans vouloir te laisser dans la panade ... et sans etre pro des regex qui me gavent , voici ce j'utilise .
    en fait je m'interesse a un par un au caractere de cette portion de chaine :
    $catList='[0-9]{1}[0-9]{1}[0-1 3-9]{1}';
    
    defaut , le filtre marche sur 002 , mais aussi sur 012,022,912 .. enfin toutes les catégories ayant comme chiffre final :2
    bien evidement j'aurais aimer voir quelqu'un rencherir et voir une regex plus efficace montré le bon de son nez :) , plutot que sortir ce truc ...


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • @Stephane ,

    Dans la page dédiée au plan , le lien vers les catégories n'est pas néttoyé et fourni une URL differente ou supplementaire .
    Perso j'enleve les 0 a gauche dans le lien comme ceci :
    <a href="'.$plxShow->plxMotor->aConf['racine'].'?categorie'.ltrim($cat_num,'0') .'/'.$cat_url.'">'.$cat_name.'</a>
    
    gc


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • StéphaneStéphane Member, Former PluXml Project Manager
    Ha ok, un oubli alors. j'irai corriger ça.
    Pour ma part j'utilise plutôt:
    intval($cat_num)
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    voilà c'est corrigé sur le wiki. merci gc

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • je t'en prie :)

    ... d'où l'on reconnait le develloppeur de l'amateur .


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonjour,

    J'aurais la même requête pour les derniers commentaires.

    Je finalise un petit plugin "ChatBox" qui utilise déjà le système de commentaire de PluXml, dont j'affiche les derniers "shouts" d'un seul article grace à :
    <?php $plxShow->lastComList('<li>Le #com_date  à #com_hour, <a href="#com_url">#com_author a dit:</a>#com_content(80)</li>',$max=5,$art_id='7'); ?>
    
    .

    Le soucis et quasi identique du fait que l'on ne vas pas lister tout les autres articles dans la sidebar sauf celui de la chatbox.

    La logique serait donc de renseigner en sidebar tout les articles sauf ceux de l'article "chatbox", mais comment ?

    Voici le rendu actuel et donc tout les derniers commentaires de la chatbox passe en sidebar.
  • a mon humble avis , tu devrais partager le code de ta shoutbox , sinon difficile de te proposer un moyen de filtrer ce que tu voudrait

    ... perso je m'appuie souvent sur le $_GET sur le fichie index.php r avant de me lancer dans les regex et des modif du core ou class etendues .
    La v5 semble annoncer une refonte assez importante (tweet sur twitter.com/pluxml du 22/01 )... le $_GET en "provisoire" devrait être le plus simple a mettre en oeuvre pour le moment .

    GC


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonjour et merci gcyrillus-nomade de ta réponse.

    Alors je part du principe que l'on évite de toucher au core de PluXml aussi.

    Pour la ChatBox rien de spécial, je m'appuie sur ce qu'il existe déjà de PluXml a savoir les commentaire dans un article.

    L'idée est parti à partir d'une demande sur le forum d'un système de dédicace.

    Mais pour mieux exposer le fonctionnement de la Chatbox voici comment j'ai fais.

    On créer donc une catégorie "chatbox" avec l'ordre "0" et un article "chatbox dont on autorise les commentaires.

    Avec les blibliothèques Jquery et zoombox j'affiche les commentaires de cet article avec ce code que l'on peux placer ou l'on veut voir la chatbox, ainsi que le formulaire repris a part dans
    <div id="chat-zone">
    <h2>ChatBox - <a href="?article7/#comments" title="Liste de tout les messages de la ChatBox">Archives</a> - <a style="font-size:18px;text-decoration: none;" id="refresh" href="#" title="rafraîchir la chatbox">↵</a></h2>
    <script>
        $(function() {
          $("#refresh").click(function(evt) {
             $("#chatbox").load("./plugins/ChatBox/chatbox_liste.php")
             evt.preventDefault();
          })
        })
    </script>
        <div id="chatbox">
            <ul><?php include(PLX_ROOT.'plugins/ChatBox/chatbox_liste.php'); ?></ul>
        </div>
    <ul class="bt-list clearfix">
    	<li><a href="./plugins/plx.chatboxmypluxml.php" rel="zoombox 700 600" title="Envoi d'un Message" >Envoyer un Message</a></li>
    </ul>
    </div>
    
    chatbox_liste.php contient tout simplement
    <?php $plxShow->lastComList('<li>Le #com_date  à #com_hour, <a href="#com_url">#com_author a dit:</a>#com_content(80)</li>',$max=5,$art_id='7'); ?>
    
    Et au passage le refresh de ma div génère un
    Call to a member function lastComList()
    
    à l'appel de chatbox_liste.php même en essayant de rajouter l'objet "global $plxMotor".

    Bref je pense que la fonction n'as pas été prévu sans faire de modification du core.

    Au pire vas attendre une version plugable ;)
  • avril 2010 modifié
    bonjour,

    okay , normal que cela ne marche pas , il te faut en repasser par l'index.php pour recharger le core et allez extraire les com de l'article x . Basiquement pour l'appel ajax , je ferai un :index.php?article-xx/nom-de-l-artcle&comments=articlexx
    ,
    une modif sur index.php en ajoutant un test sur $_GET et sa valeur pour ensuite charger ton fichier template 'chatbox_liste.php' .
    Regarde comment je fais mon preview : http://forum.pluxml.org/viewtopic.php?pid=13099#p13099 .

    La gestion des contenus a afficher dans pluxml se fait via l'url .

    GC

    <edit> n'oublie pas de valider l'id de l'article avant d'appeler la fonction lastComList()
    <re-edit> Pour valider ton article passe son id par l'url tout simplement . Ton fichier chatbox_liste.php sera commun a tout tes themes et pourra servir pour n'importe qu'elle article.


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • grenouillegrenouille Member
    avril 2010 modifié
    bjr à tous

    j'en reviens au post#2 et #3

    je voulais retirer les articles de la cat 002 par ce que ces articles date de 2008
    entre temps je veux aussi enlever (ou ne pas voir s'afficher) d'autres catégories avec de vieux articles
    au lieu d'enlever les catégories ne serait il pas plus judicieux de filtrer par date

    d'où ma question

    y aurait il possibilité de rajouter une condition au 'if' lorsqu'on parse nos articles afin de ne pas prendre en compte les articles trop vieux ( qui sont souvent obsolète)

    dans le genre,
    - pas les articles avant 2008 ou
    - que les articles après le 01/01/2009

    ?
  • @grenouille , le principe a appliqué est le même , sur une autre partie de la regex :
    les 4 premiers caractéres sont le numero de l'article
    un point
    les 3 caracteres suivant sont le numero de categorie a laquelle est rattaché l'article
    un point
    la date , dont les 4 premiers chiffres indique l'année <- c'est sur cette portion (juste les n°3 et 4 )que tu dois intervenir si tu veux ejecter/filtrer certaines années. ,ensuite vient le mois , jour et heure
    un point
    le-titre-de-l-article.xml

    Voilou , te reste a ajouté une variable et un filtre dans le code de la page statique comme pour les catégories .

    GC


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • yo
    trop évident
    merci GC

    ps : des fois ces juste devant nous et on ne le vois pas
Connectez-vous ou Inscrivez-vous pour répondre.