Bonjour,
Tu peux déclarer une base externe et faire ensuite des boucles SPIP dessus :
Je vois 2 points qui pourraient poser problème dans ton cas :
1. les noms des tables sont en camelcase : je ne sais pas si ça passe dans une boucle, il faudra essayer soit tel quel, soit tout en minuscules.
2. il y a pleins de jointures, et en plus certaines se font sur des champs non homonymes (p.post_id = t.topic_last_post_id). Donc sans déclaration explicite des jointures dans le bon pipeline je doute que SPIP arrive à les faire automatiquement. Il faudrait que tu regardes si toutes les jointures sont nécessaires et en retirer éventuellement pour simplifier la requête.
En dehors de ça, avec un fichier de connexion config/phpbb.php ça serait un truc comme ça :
Ce n’est pas à rependre tel quel, c’est juste pour donner une idée hein.
Aussi, quand on déclare une table externe par interface au lieu de faire un fichier de connexion, je crois que le préfixe n’est pas nécessaire (à vérifier) : <BOUCLE_x(phpbbb:hpBB3_users)> → <BOUCLE_x(hpBB3_users)>
Alterntivement, pour les cas compliqués comme ici, tu peux peut-être utiliser une boucle DATA avec une source sql (j’ai jamais testé avec une base externe par contre).
Ps : un autre article de jluc sur le sujet, il date un peu mais toujours valide : https://contrib.spip.net/Acces-SPIP-aux-tables-externes-et-jointures