[RESOLU] Afficher url de la page catégorie courante

Hello,

Je souhaite mettre en place les balises "canonical" sur mon site. Pour les pages statiques et les articles tout est ok.
Par contre pour les pages de "catégories" je n'arrive pas à faire ce que je veux.

J'ai mon fichier "categorie.php" qui appelle "header-cat.php". Dans header-cat.php, voilà ce que j'y ai placé :
[== HTML ==]
<link rel="canonical" href="<?php $plxShow->catUrl() ?>" />

Le problème, c'est que sans l'ID de ma catégorie ça ne me retourne rien. L'autre difficulté c'est que je ne peux pas renseigner l'ID de ma catégorie à la mano.
J'aimerais en fait récupérer automatiquement l'url de la catégorie courante.

Des idées ?

Merci !

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    août 2018 modifié
    Hi,
    Dans le thème par défaut, tu as le fichier categorie.php qui permet d'afficher la liste des articles pour la catégorie choisie.
    Bien évidemment le nom de la catégorie s'affiche. Pour cela, la fonction plxShow::catName() est utilisée. Elle est déclarée dans le fichier core/lib/class.plx.show.php
    En étudiant le code source de cette fonction, il n'y a aucune difficulté pour avoir le ID de la catégorie.

    C'est vrai que plxShow::catUrl pourrait afficher l'URL de la catégorie en cours si on est en mode catégorie ou renvoyer une valeur nulle dans le cas contraire si $id n'est pas précisé.
  • koopa90koopa90 Member
    août 2018 modifié
    bazooka07 a écrit:
    Hi,
    Dans le thème par défaut, tu as le fichier categorie.php qui permet d'afficher la liste des articles pour la catégorie choisie.
    Bien évidemment le nom de la catégorie s'affiche. Pour cela, la fonction plxShow::catName() est utilisée. Elle est déclarée dans le fichier core/lib/class.plx.show.php
    En étudiant le code source de cette fonction, il n'y a aucune difficulté pour avoir le ID de la catégorie.

    C'est vrai que plxShow::catUrl pourrait afficher l'URL de la catégorie en cours si on est en mode catégorie ou renvoyer une valeur nulle dans le cas contraire si $id n'est pas précisé.
    Merci pour ta contribution.
    Toutefois je ne suis pas développeur pour un sous et je t'avouerais que je n'arrive pas à mes fins...
    Je sais que c'est ce paramètre que je dois réutiliser -> .$url. mais je n'arrive pas à structurer la requête en PHP.

    EDIT :
    J'ai essayé comme cela :
    [== PHP ==]
    <?php $plxShow->catName('$url') ?>
    
    Ça me récupère bien l'url par contre j'ai une majuscule qui me créé une erreur 404 -> monsite.com/Macategorie au lieu de monsite.com/macategorie
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    essaye avec le code suivant
    <link rel="canonical" href="<?php echo $plxShow->catUrl($plxShow->catid()) ?>" />
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Stéphane a écrit:
    Bonjour

    essaye avec le code suivant
    <link rel="canonical" href="<?php echo $plxShow->catUrl($plxShow->catid()) ?>" />
    
    Hello Stéphane,

    Ça fonctionne !
    Un grand merci à toi ! :D
Connectez-vous ou Inscrivez-vous pour répondre.