Tables et Champs
Les noms de tables utilisés dans les boucles correspondent au nom des tables de la base de donnée (qu’elle soit MySQL, PostgreSQL, SQLite ou autre, SPIP ayant l’ambition d’etre multi-bases).
L’habitude qui sert de convention dénomme chaque table objet avec un nom français mis au pluriel, un identifieur unique (souvent en AUTO-INCREMENT) de même nom au singulier, préfixé par id_
référence(s) à retrouver !.
La syntaxe standard de SPIP utilisait le nom symbolique au pluriel, nom de l’entité mis en MAJUSCULES et donné sans préfixe [1] : pour les tables natives de SPIP les fonctions internes se chargeront de rajouter le préfixe.
Pour utiliser une table externe (non déclarée à SPIP), vous indiquerez son nom complet en minuscules, y compris l’éventuel prefix que vous devrez gérer à la main "en dur" dans vos squelettes.
Et si votre table est dans une base autre que celle de SPIP, vous devrez en plus :
déclarer un fichier de connexion supplémentaire (avec noms de base de données et d’ordinateur hôte, login et mot de passe de cette base, et type du moteur de SGBD) dans un fichier de connexion distinct : cela est même automatisé dans SPIP 3.
utiliser ce nom de fichier de connexion comme radical au nom physique de vos tables dans les instructions de boucle dans vos squelettes.
Le tout en respectant simplement la syntaxe SPIP habituelle.
Dans tous les cas, vous pouvez ensuite rédiger vos squelettes de la façon habituelle :
utiliser directement les champs par leur nom, mis en majuscules et précédés d’un dièse (#CHAMP_DANS_TABLE
) pour obtenir l’affichage de la valeur d’occurrence.
utiliser pareillement le nom de champ en minuscules dans un critère de sélection..
Pour comprendre les sources de ces conventions
la gestion des thèmes et des squelettes
la gestion des jointures automatiques : https://programmer.spip.net/-Liaiso...
la gestion des noms de tables et objets
qu’ai-je oublié ?
Article publié le 23 janvier 2012, et actualisé en février 2019 .
Répondre à cet article