Plugin Identifiants

Donner des identifiants textes uniques aux objets.

Documentation à jour pour la version 2

Objet du plugin

Ce plugin est un outil à destination des intégrateur⋅ices : il permet d’attribuer des identifiants textes, uniques ou non, à tous les types de contenus.

Cela permet de cibler préciséments ces contenus dans vos boucles ou requêtes SQL, sans avoir recours à des méthodes moins fiables ou plus compliquées : n° de clé primaire, champs “détournés”, mots-clés, etc.

Il s’agit tout simplement d’un champ identifiant ajouté sur les tables concernées, complété par des vérifications de format et d’unicité.

Fonctionnement

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é

Les identifiants peuvent être uniques ou réutilisables, le fonctionnement peut être changé dans la configuration du plugin.

Lorsque le mode unique est activé, les identifiants ne sont alors utilisables qu’une seule fois pour chaque type d’objet.

Autres plugins

D’autres plugins proposent des objets ayant nativement un champ identifiant, comme les formulaires du plugin Formidable ou les Sélections éditoriales par exemple. On peut utiliser les plugins de concert, leur fonctionnement n’est pas perturbé.

Utilisation dans les squelettes

Critère {identifiant}

Un simple critère qui correspond au nom de la colonne, et s’utilise classiquement :

<BOUCLE_x(ARTICLES) {identifiant = truc}>
<BOUCLE_y(RUBRIQUES) {identifiant?}>
<BOUCLE_z(PATATES) {identifiant = #GET{mon_param}}>
etc.

Balise #IDENTIFIANT

La balise #IDENTIFIANT peut s’utiliser de 2 façons :

  • Sans paramètre si l’on est dans une boucle : #IDENTIFIANTS
  • 2 paramètres objet et id_objet : #IDENTIFIANTS{article, 10}

Utilisation dans l’espace privé

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édacteur⋅ices ni même les administrateur⋅ices.

L’autorisation peut être surchargée au besoin.

Configuration

On peut choisir quels types de contenus peuvent se voir attribuer 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.

La config permet également de choisir si les identifiants peuvent être réutilisables ou non : activer l’option désactive la vérification de l’unicité lors de l’édition.

Capture d'écran de la page de configuration du plugin Identifiants
Configuration du plugin Identifiants

Édition

Lors de l’édition des contenus, le champ identifiant est ajouté sous le titre. À défaut de titre, il sera présent au niveau des champs extras, en bas du formulaire.

Capoture d'écran montrant un formulaire d'édition d'article avec un champ identifiant
Édition d’un identifiant

Aperçu

En mode aperçu, les identifiants sont visibles sous le numéro du contenu, dans la boîte d’infos sur le côté.

Capture d'écran montrant un identifiant texte sous le numéro d'un article
Aperçu d’un identifiant

Page de contrôle

Une page de contrôle vous permet de voir tous les identifiants existants, avec des filtres par type de contenu.

Capture d'écran de la page de contrôle des identifiants
Page de contrôle des identifiants

Technique

À partir de la version 2, les identifiants sont stockés directement dans les tables des objets activés : une colonne identifiant est ajoutée automatiquement lorsqu’on choisit des objets dans la configuration du plugin.

Celle-ci est supprimée lors de la désinstallation ou lorsqu’on déselectionne les contenus dans la config.

Les tables possédant nativement une colonne identifiant ne sont pas concernées : pas de risque de perte de données pour celles-ci (formulaires formidable, sélections éditoriales, etc).

Avant la version 2, les identifiants étaient stockés dans une table auxiliaire spip_identifiants.

Discussion

No discussion

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

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