web-dev-qa-db-fra.com

Possible de faire en sorte que la génération de slug tourne "&" en "et" pour url? comme extension / plugin / patch?

J'ai beaucoup de clients qui aiment écrire "&" dans leurs titres mais la génération automatique de slug supprime le "&" qui peut donner à l'URL un sens totalement différent et nous devons donc les vérifier à la main.

Est-ce qu'un remplacement ou un correctif ou quelque chose est possible pour changer cela afin que & devienne "et"?

Title: House & Boat
e.g. http://www.domain.com/sections/house-boat
vs http://www.domain.com/sections/house-and-boat

Merci

6
tristanbailey

Il n'y a pas de moyen facile de remplacer cela. En fin de compte, il utilise JFilterOutput::stringURLUnicodeSlug() ou JFilterOutput::stringURLSafe() (selon le paramètre global) pour sécuriser l'URL d'alias. Puisque & _ n'est pas un caractère valide dans une URL, il est supprimé et remplacé par un -.

Vous avez donc dû remplacer une classe de base, ce qui n’est pas recommandé du tout.

Le moyen le plus simple est probablement de créer un plug-in qui s'exécute pendant ou après le processus de sauvegarde et génère un nouvel alias. Je ne sais pas s’il en existe un, mais je pense qu’il devrait être possible de créer un tel plugin.

Ou vous pouvez apprendre à vos utilisateurs à s’assurer que le pseudonyme est correct :-)

4
Bakual

Plutôt que d'apprendre aux utilisateurs à contrôler l'alias, apprenez aux utilisateurs/administrateurs à rédiger les titres sans l'esperluette au départ. Dites-leur qu'il va "casser le site" si nécessaire, wink wink.

1
Toni Marie