[SPIP Zone] Contacts, Organisations et jointures en général

Hello,

Dans le plugin 'Contacts et Organisations', je cherche à faire fonctionner la boucle suivante

<BOUCLE_test_contact(CONTACTS){id_contact}{id_mot?}>

J'y arrive en modifiant la ligne https://zone.spip.org/trac/spip-zone/browser/plugins/contacts_et_organisations/trunk/base/contacts.php#L216 comme suit :

MODIF #1 : suppression de la déclaration de 'contacts_liens' qui ne sert à rien ici puisque SPIP fait une jointure automatique

MODIF #2 : ajout de 'mots_liens'

ce qui donne...

'tables_jointures' => array('auteurs', 'annuaires',
      'organisations_liens', 'mots_liens'),

Note : si je laisse 'contacts_liens', ça ne marche pas.
Note 2 : il me semble que les déclarations 'auteurs' et 'annuaires' ne servent à rien ici car ce ne sont pas des tables de jointures (voir la doc https://www.spip.net/fr_article5525.html)

C'est en fait plus simple que je le pensais :

Le plugin-dist 'Mots' déclare les jointures sur les mots pour tous les objets (voir Connexion · GitLab)

Il y a une anomalie dans Contacts & Organisations qui shunte ce mécanisme. c'est réglé avec Connexion · GitLab

Dans le plugin 'Contacts et Organisations', je cherche à faire
fonctionner la boucle suivante

<BOUCLE_test_contact(CONTACTS){id_contact}{id_mot?}>

J'y arrive en modifiant la ligne
Connexion · GitLab
comme suit :

MODIF #1 : suppression de la déclaration de 'contacts_liens' qui ne sert
à rien ici puisque SPIP fait une jointure automatique

MODIF #2 : ajout de 'mots_liens'

ce qui donne...

'tables_jointures' => array('auteurs', 'annuaires',
            'organisations_liens', 'mots_liens'),

Note : si je laisse 'contacts_liens', ça ne marche pas.
Note 2 : il me semble que les déclarations 'auteurs' et 'annuaires' ne
servent à rien ici car ce ne sont pas des tables de jointures (voir la
doc API de déclaration d’objets éditoriaux - Programmer avec SPIP 4)

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone