Proposé : identifiant_slug

**SPIP**

# Article proposé

L’article "**identifiant_slug**
(https://www.spip.net/ecrire/?exec=article&id_article=6636)" est proposé
à la publication depuis le jeudi 11 mars 2021.

* * *

## identifiant_slug

jeudi 11 mars 2021 , par [JLuc](.././?page=auteur&id_auteur=55&)

Cette fonction permet de transformer un texte clair en nom court pouvant
servir d’identifiant, de classe CSS, d’id HTML ou d’url.

Pour cela, elle enlève les accents, ne conserve que les caractères
alphanumériques, remplace les autres caractères par un séparateur
’_’ par défaut et supprime les séparateurs au début et à la fin.

Exemple : `

[

(

#VAL

{Hé ! L'été approche !}

|identifiant_slug

)

]

` renvoie `he_l_ete_approche`.

Le filtre reçoit optionnellement 2 arguments
**–** un type : si ce type est ’id’, ’class’ ou ’anchor’, la
chaine est préfixée dans le cas où elle commence par un numérique, afin
d’être compatible avec les standards du web ou avec les bonnes
pratiques.
**–** un tableau d’options qui accepte 2 clés possibles : `separateur`
et `longueur_maxi` qui permettent de spécifier le caractère séparateur
utilisé et la longueur maximale retenue de la chaîne.

Exemple : `<div

[

id="

(

#TITRE

|identifiant_slug

{id,

#ARRAY

{longueur_maxi,10}}

)

"

]

#TEXTE

</div>`

— Envoyé par SPIP (https://www.spip.net/)

rubon199-7e493.jpg

1 « J'aime »

J’avoue que pour le plugin graphql, je serais très friand d’un identifiant slug pour chaque objet éditorial (article, rubrique, auteur, document, etc.). Et même pour gérer les « urls propres », ce serait plus pratique à mon sens.

hum, pour la generalisation oui. Mais pour les urls non : car le gros avantage du système d’url de SPIP, c’est que tu peux changer une url tout en gardant les anciennes (qui redirigent automatiquement vers la nouvelle). Ce qu’un slug ne peut pas faire.

1 « J'aime »

ok je comprends. J’enfonce sûrement une porte ouverte mais il faudrait vérifier l’unicité du slug au moment de sa génératon (au moins dans la table).