Koppelingen automatiseren

Wanneer ze niet expliciet in SPIP zijn gedeclareerd, worden de koppelingen waar mogelijk berekend. Om dit te doen, vergelijkt SPIP de namen van de velden van de verschillende tabellen.

Als een AUTEURS-lus bijvoorbeeld op zoek gaat naar een voorwaarde-veld dat niet in de tabel staat, bijvoorbeeld {prenom=Daniel}, zal SPIP gaan kijken in de andere tabellen die het kent en die velden hebben met dezelfde namen als de auteurstabel (zoals het id_auteur sleutelveld), om te zien of in dergelijke tabellen het gevraagde "prenom"-veld voorkomt. Als een van de tabellen dat veld wel heeft, dan wordt een verbinding gemaakt tussen deze twee tabellen.

Als er bijvoorbeeld een aangepaste tabel AUTEURS_ELARGIS (uitgebreide_auteurs) bestaat (zoals bij de plugin "Inscription 2") met beide velden "id_auteur" en "prenom", dan wordt een verbinding gemaakt om de eerder genoemde voorwaarde van de lus correct te laten werken.

object, id_object

SPIP 2.0 introduceerde een nieuwe methode voor het zoeken naar koppelingen. De primaire sleutels van één tabel, in dit geval "id_auteur" voor tabel spip_auteurs, worden niet alleen gezocht in de veldnamen van de andere tabellen, maar ook in tabellen met de velden "object" en "id_object", waar "object=auteur" in ons voorbeeld staat. In het huidige SPIP standaard database schema is dit eigenlijk het geval voor de tabel spip_documents_liens.

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands