Accueil du site > fr > Étendre SPIP > Liste des pipelines > declarer_tables_auxiliaires

declarer_tables_auxiliaires

Ce pipeline sert à déclarer des tables « auxiliaires », c’est à dire qui ne servent essentiellement qu’à réaliser des liaisons avec des tables principales.

Comme le pipeline declarer_tables_principales, il reçoit la liste des tables, se composant du même tableau.

Exemple

Le plugin « SPIP Bisous » qui permet qu’un auteur (membre inscrit sur le site) envoie un bisou à un autre auteur (l’équivalent d’un poke sur certains réseaux sociaux) déclare une table spip_bisous liant 2 auteurs avec la date du bisou, avec le code ci-dessous. On remarquera la clé primaire composée de 2 champs.

  1. function bisous_declarer_tables_auxiliaires($tables_auxiliaires){
  2.     $spip_bisous = array(
  3.         'id_donneur' => 'bigint(21) DEFAULT "0" NOT NULL',
  4.         'id_receveur' => 'bigint(21) DEFAULT "0" NOT NULL',
  5.         'date' => 'datetime DEFAULT "0000-00-00 00:00:00" NOT NULL'
  6.     );
  7.    
  8.     $spip_bisous_cles = array(
  9.         'PRIMARY KEY' => 'id_donneur, id_receveur'
  10.     );
  11.    
  12.     $tables_auxiliaires['spip_bisous'] = array(
  13.         'field' => &$spip_bisous,
  14.         'key' => &$spip_bisous_cles
  15.     );
  16.    
  17.     return $tables_auxiliaires;
  18. }