url tronquée à l'enregistrement des modifs d'un article existant

Franck-AWOFranck-AWO Membre

Bonjour,

Aaah ça faisait longtemps que je n'étais pas venu ici. Sympa de voir les changements et les perspectives d'évolution :-)

Je viens de mettre un PluXml à jour :

  • PluXml version 5.8.2 (encodage UTF-8)
  • Version de PHP : 7.3.9
  • Apache/2.2

Je n'avais pas remarqué si dans la version précédente le phénomène se produisait déjà ou pas. Mais maintenant lorsque que j'édite un article pour le modifier, je vois après l'enregistrement des modifs, dans le champ URL, que les mots de 2 ou 1 caractères sont supprimés. Exemple :

changer-le-label-d-un-disque-usb-sous-debian.html

devient :

changer-label-disque-usb-sous-debian.html

Cela doit certainement avoir des avantages, mais pour les liens qui pointent vers l'article sous son ancienne URL, ça pose problème.

Est-il possible de désactiver cette fonction qui change l'url d'un article existant ?

Mots clés:

Réponses

  • P3terP3ter Responsable de PluXml

    Bonjour,

    Ce comportement est un effet de bord de l'implémentation de la translittération dans PluXml 5.8. Il n'est pas possible de désactiver cette fonctionnalité sans changer le core de PluXml (plxUtils::urlify()).

    Sinon, ce n'est pas une solution idéale, mais il reste possible d'ajouter des redirections 301 de l'ancienne URL vers la nouvelle :-(

    Site : p3ter.fr - Twitter : @P3terFr

  • Merci P3ter pour cette explication claire. A priori le comportement est le même pour les pages statiques.

    Pour les trois sites vitrine et blog-notes que je maintiens c'est presque sans importance. Je me dis que c'est peut-être plus dommageable pour certains sites qui pratiquent le netlinking et qui tiennent à jour des contenus dont l'url contiendrait des mots de moins de 3 lettres.

    Je n'ai pas trouvé d'indication dans le changelog qui pourrait suggérer ce comportement. Peut-être serait-il judicieux d'avertir d'une certaine façon (pendant le processus de mise à jour?) ceux qui mettrons à jour de PluXml < 5.8 à PluXml 5.8+ ?

    Bonne continuation à tous

  • bazooka07bazooka07 Membre

    Bonjour,

    Dans le fichier class.plx.utils.php vers la ligne #518, il faut modifier la valeur par défaut du paramètre $remove à false pour la fonction urlify() :

    public static function urlify($str, $remove=false, $replace='-', $lower=true) {
    ....
    }
    

    Comme cela, le titre "Changer le label d' un disque usb sous Debian" donne "changer-le-label-d-un-disque-usb-sous-debian". (attention à l'espace après l'apostrophe! )

    Les articles n'apportent rien à la compréhension de l'url. Mais c'était fait comme cela avant, il faut bien rétro-pédaler.

    Attention à la prochaine mise à jour de PluXml-5.8 de remettre la valeur par défaut de $remove.

  • P3terP3ter Responsable de PluXml

    Au temps pour moi, j'avais zappé le paramètre $remove.

    Site : p3ter.fr - Twitter : @P3terFr

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