Re: Ajout des mots-clés sur une nouvelle table


Le 28 mars 06 à 02:42, Pierre Basson a écrit :
>
>
> J'ai toujours des problèmes. Voici le fichier où je déclare mes
> nouvelles tables/relations/boucles... :
> <?php
>
> 	global $tables_principales;
> 	global $tables_jointures;
> 	global $tables_auxiliaires;
>
> 	$tables_principales['lettres']= array(
> 		"field" => array(
> 					"id_lettre"		=> "bigint(21) NOT NULL",
> 					"titre"			=> "text NOT NULL",
> 					"descriptif"	=> "text NOT NULL",
> 					"texte"			=> "longblob NOT NULL",
> 					"date"			=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
> 					"lang"			=> "varchar(10) NOT NULL",
> 					"maj"			=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
> 		),
> 		"key" => array("PRIMARY KEY" => "id_lettre")
> 	);

Attention, il y a un pb dans la gestion du préfixe des tables.
Ce n'est pas facile car on veut assurer la compatibilité avec les  
versions précédentes (qui ont nécessairement le préfixe "spip_"  
implicite ou son substitué) ET permettre de référencer des tables  
quelconques.
La globale $table_des_tables, que tu n'utilises pas, contient la  
liste des tables pour lequel il faut rajouter le préfixe "spip_".
Donc, soit tu veux la gestion implicite de ce préfixe, et tu rajoutes  
tes tables dans cette globale, soit tu geres explicitement ce  
préfixe, et donc tu dois ecrire "tables_principales['spip_lettres']=  
array(..." etc. Je conseille plutot la 2e methode, $table_des_tables  
étant censée désigné les tables standards.

C'est un peu tordu, mais c'est le prix à payer de la compatibilité.

Déesse A.


Gmane