Plugin Identifiants

This contribution or plugin is actually being tested. Issues may occur, don’t hesitate to report those in following post’s comments.

Donner des identifiants textes uniques aux objets.

Préambule

Lors de l’écriture de squelettes, vous est-il déjà arrivé de devoir sélectionner un article en particulier, ou une rubrique précise ?

Par défaut, le seul champ qui permette d’identifier un objet de façon unique est son numéro : #ID_RUBRIQUE, #ID_ARTICLE, etc.
Mais un numéro, ce n’est pas très parlant !

On peut s’en sortir en choisissant l’objet en fonction d’un mot-clé technique ou de son numéro (la mort dans l’âme !), mais ce ne sont pas des méthodes idéales : un mot-clé n’est pas unique pour un type d’objet, et un numéro ne véhicule aucun sens.

<BOUCLE_x(ARTICLES){id_article=5}>
<BOUCLE_x(ARTICLES){titre_mot=truc}>

Un critère {identifiant}

L’objet de ce plugin est de permettre d’attribuer un identifiant texte unique aux objets, qui pourront ensuite être sélectionnés au moyen du critère {identifiant=x}.

<BOUCLE_x(ARTICLES){identifiant=truc}>
<BOUCLE_y(RUBRIQUES){identifiant=machin}>
<BOUCLE_z(PATATES){identifiant=chose}>
etc.

Format

Un identifiant ne comporte que caractères alphanumériques ou le signe «_» : pas de majuscule, ni de caractère spécial ou accentué, ni d’espace.
Ex. : Mentions légalesmentions_legales.

Unicité

Un identifiant est unique pour un type d’objet : 2 articles ne peuvent pas avoir le même identifiant toto, mais on peut donner le même identifiant patate à un article et une rubrique par exemple.

Autres plugins

À noter que pour les articles, le plugin Pages uniques utilise le même concept d’identifiant unique avec le champ #PAGE. Cette idée est élargie ici à tout type d’objet.

D’autres plugins proposent des objets ayant déjà un champ #IDENTIFIANT, comme les formulaires du plugin Formidable, le générateur de formulaire par exemple. On peut utiliser les plugins de concert, leur fonctionnement n’est pas perturbé.

Utilisation

Par défaut, seuls les webmestres ont la possiblité de voir et modifier les identifiants. C’est une information qui n’a à priori n’a aucun intérêt pour les rédacteurs ni même les administrateurs.
Il est possible que ça évolue par la suite, en attendant, ces 2 autorisations peuvent être surchargées au besoin.

Configurer

Tout d’abord, il faut choisir sur quels types d’objets on peut ajouter des identifiants. Les tables qui possèdent déjà un champ «identifiant» ne sont pas listées, et sont indiquées pour référence dans le descriptif de la saisie.

Configurer
Configurer
Configuration du plugin Identifiants

Éditer

On peut définir ou modifier les identifiants en éditant les objets : une saisie est ajoutée au formulaire, au niveau des champs extras, en bas.

Éditer
Éditer
Édition de l’identifiant d’un objet

Voir

Les identifiants sont visibles sous le numéro de l’objet, dans la boîte d’infos à gauche.

Voir
Voir
Boîtes infos avec l’identifiant texte sous l’identifiant numérique

Technique

Les identifiants sont stockés dans une table auxiliaire spip_identifiants, qui contient les champs #OBJET, #ID_OBJET, #IDENTIFIANT et #MAJ.

Quand on édite un identifiant et qu’on “l’efface”, la ligne correspondante est supprimée dans la table.

Une jointure avec cette table est opérée automatiquement pour tous les objets.

À priori, on utilisera les identifiants avec parcimonie, pour des besoins bien précis.

updated on 2 October 2019

Discussion

4 discussions

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom