plxShow->catId()

Lorsqu'un article comporte une catégorie, catId renvoie l'id de la catégorie.
Ok.

Lorsqu'un article comporte deux catégories, catId renvoie home.
C'est embêtant. Notamment avec le plugin PrevNext qui ne marche plus correctement.

Réponses

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

    C'est peut-etre que ce n'est pas cette fonction qu'il faut utiliser
    Quel est le contexte, que veux-tu faire, comment est paramétré ton article (catégories associées), etc...

    Consultant PluXml

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

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    [== PHP ==]
    <?php
    catlists = explode(',', $plxShow->artCatIds();
    ?>
    

    Ouvre dans ton éditeur de texte préféré le fichier core/lib/class.plx.show pour voir les méthodes que proposent la class PlxShow;
    Pas sûr que le plugin PrevNext soit approprié dans ce cas-là.
  • esandoesando Member
    mars 2016 modifié
    Merci, effectivement artCatIds() fait le travail.

    Dans le code initial :
    $ID_CAT = str_pad ($plxShow->catId(), 3, '0', STR_PAD_LEFT);

    J'ai remplacé en
    $ID_CAT = $plxShow->artCatIds();
  • esandoesando Member
    mars 2016 modifié
    Au final,
    J'ai un article classé dans les catégories 001 et 007.
    Je voudrais avoir l'article précédent et suivant qui répond uniquement au classement dans les deux catégories.
    j'ai fait la modification suivante dans la requête php, ce qui fonctionne à 90%.
    Ce que je ne comprends pas, c'est la venue de l'article 0013.001,010......sirop-du-pere-jean.xml
    [== Php ==]
    $ID_CAT = $plxShow->artCatIds();
    $aFiles = $plxShow->plxMotor->plxGlob_arts->query('/[0-9]{4}.['.$ID_CAT.']*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/','art',$ordre,0,false,'before');
    

    [== valeurs dans $aFiles ==]
    0020.001,007.002.201603271924.004-fango.xml
    0019.001,007.002.201603271924.006-onguent-decontractant-250ml.xml
    0018.001,007.002.201603271923.005-onguent-decontractant.xml
    0017.001,007.002.201603271921.001-biogel-reconfortant.xml
    0013.001,007.002.201603271849.003-gel-apaisant-250ml.xml
    0012.001,010.002.201603271803.030-sirop-du-pere-jean.xml
    0004.001,007.002.201603251439.002-gel-apaisant.xml
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    c'est ton * dans le regexp à ce niveau *

    Consultant PluXml

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

  • esandoesando Member
    mars 2016 modifié
    Merci !
    Au final, il faut également enlever []*, et ce qui nous donne
    $aFiles = $plxShow->plxMotor->plxGlob_arts->query('/[0-9]{4}.'.$ID_CAT.'.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/','art',$ordre,0,false,'before');

    Autre point, où puis-je trouver la signification des autres paramètres de la fonction plxGlob_arts->query() ?
    Où est son code ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    dans le fichier core/lib/class.plx.glob.php

    Consultant PluXml

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

Connectez-vous ou Inscrivez-vous pour répondre.