Mettre le nom de la catégorie d'un article dans une variable

yoyoyoyo Member

En gros comme $plxShow->catName() mais sans echo
je veux pouvoir l'avoir dans une variable genre
$nomCategorieDeArticleEnQuestion = $plxShow->catName();
pour pouvoir créer des conditions.
Ne pas se moquer, j'ai commencé à coder en PluXml qu'aujourd'hui... ;)

Réponses

  • Kube17Kube17 Member
    avril 2020 modifié

    Ah je ne sais pas si ça fonctionne avec catName mais ça devrais, mais avec staticUrl, artUrl, etc j'ajoute "false" en paramètre pour empêcher que ça echo.
    Comme il y a déjà un paramètre il faudrait faire $plxShow->catName('', false);
    A essayer

    FR/EN MP - Mail - unkorneglosk.fr - Twitter - Je suis modérateur, je dois donc modérater. Ou modérationner. Ou je sais plus. Mais je le fais. En ce moment j'ai des problèmes d'accès à internet je peux mettre du temps à répondre.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Il est plus facile de tester l'identifiant de la catégorie. C'est un nombre sur 3 digits justifiés à gauche avec 0. Par exemple : "021".
    $plxShow utilise les modes pour savoir dans quel contexte afficher la page HTML : "categorie", "article", "home", ... Pour connaitre le mode en cours lire la valeur de "$plxShow->plxMotor->mode"
    pour connaitre l'identifiant de la categorie

    • En mode "categorie" : $plxShow->plxMotor->cible
    • En mode article : $plxShow->artActiveCatIds() . C'est un tableau
    • En mode home: idem

    Salut.

  • yoyoyoyo Member

    En premier lieu merci pour votre réactivité, tout vos conseils ont été très précieux,
    @Kube17 pour $plxShow->catName('', false); ca ne fonctionne pas, mais artUrl('', false); est très bien et l'idée ('', false) va beaucoup me servir lors de l’élaboration de thème
    @bazooka07 pour $plxShow->artActiveCatIds() effectivement c'est encore mieux, je commence d'ailleurs à comprendre les modes

    Je me suis donc permis de compiler les 2: $plxShow->artActiveCatIds('', false);
    et pour le test sur ma page article parfait.

    D'autre part coté plugin $plxShow étant plutôt adapté au theming, pour la même chose pourrais je utiliser par exemple getParam(), pour accéder à categories.xml > document > categorie > valeur de number ?
    J'avoue que l'heure à eu raison de moi, je commence à être dans le vague pour continuer ce soir. Et surtout je commence tôt demain...

    Et merci encore pour vos réponses !

  • yoyoyoyo Member
    avril 2020 modifié

    Si quelqu'un se confronte au même probleme la réponse peut passer directement par PHP:
    $url = explode("/", $_SERVER["QUERY_STRING"]);

  • yoyoyoyo Member
    avril 2020 modifié

    J'ai presque fini ma modification du plugin MyBetterUrl,

    Il me manque plus que de connaitre le nom de la categorie de l'article pour finir (depuis page MyBetterUrl.php)..

    A défaut d'une doc précisant les fonctions dispo, j'espere que la communauté me repondra à cette question simple...

    j'ai essayé sans succès:

    $articleNomCate = explode(",", artCatIds()); 
    $articleNomCate = $articleNomCate[0];
    $pluxml->cat_used[$pluxml->a_article];
    .$this->lang.$this->category.'".$cat["url"];
    .$plxMotor->aCats[$r]["url"];
    .$this->article.'".$plxMotor->aCats[$r]["url"];
    $id = $this->plxMotor->cible;
    $url = $this->catUrl($id);
    .$this->getParam('format_article').
    preg_match("/^(article|static|categorie)[0-9]+\/([a-z0-9-]+)(\/page[0-9]+)?/", $this->get, $capture) { $capture[1] }
    

    et bien d'autre... je n'en peut plus !!

  • yoyoyoyo Member

    Bonjour,
    A défaut d'avoir une documentation ou une réponse de la communauté,
    j ai trouvé une autre solution... tout devoir recoder from scratch alors qu'une constante ou fonction existe...
    C'est un très bon cms mais très fermé malgré qu'il soit open source... mon conseil serait de produire une documentation plus détaillée ou au moins un référentiel des fonctions et constantes existante ...

  • HarukaHaruka PluXml Project Manager
    avril 2020 modifié

    plxUtils ou plxAdmin mériteraient d'être documentés comme l'est déjà plxShow, c'est vrai, mais si ce n'est pas fait c'est uniquement un problème de disponibilité / temps et non une volonté de "fermer" le code de PluXml.

    Par ailleurs, PluXml étant gratuit et ses contributeurs des bénévoles, il n'y a aucun support technique dû, même pour une "question simple". Moi même, malheureusement, je n'ai pas le temps d'analyser et de trouver des réponses aux questions de tout le monde.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
  • yoyoyoyo Member

    Je ne voulais heurter personne... Et effectivement je comprend tout à fait l'argument de la disponibilité. Je pensais juste que c’était un choix délibéré, avec la frustration de ne rien trouver après plusieurs heures de recherche, et de devoir recoder une fonction deja existante... Bon weekend !

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