17
Indiquez l’intérêt que vous portez à cette question
0

probléme de création d’une nouvelle table avec les plugins de spip

salut à tous ,

je suis débutante dans spip, et voici mon problème :

pour ajouter une nouvelle table j’ai créé un plugin mais j’ai des erreurs.

aidez moi et merci d’avance.

voici le code :

pour le plugin :

<plugin> 

<nom>mon_plugin</nom>

<version>1.0</version>

<prefix>plug</prefix>

<pipeline>

<nom>declarer_tables_principales</nom>

<inclure>base/mon_plugin.php</inclure>

<action>init_tables_principales</action>

</pipeline>

<install>base/mon_plugin_init.php</install>

</plugin>

code de la balise action de la balise pipeline :init_tables_principales

<?php>

function prefixplugin_init_tables_principales($tables_principales)
{
$humains = array(
"id_humain" => "BIGINT(21) NOT NULL AUTO_INCREMENT",
"nom" => "VARCHAR(100) NOT NULL",
"genre" => "ENUM(’homme’,’femme’,’inconnu’) DEFAULT ’inconnu’ NOT NULL"
) ;

$humains_key = array(
"PRIMARY KEY" => "id_humain",
"KEY genre" => "genre"
) ;

$humains_join = array(
"id_humain" => "id_humain",
"genre" => "genre"
) ;

$tables_principales[’spip_humains’] = array(
’field’ => &humains,
’key’ => &$humains_key,
’join’ => &$humains_join
) ;
return $tables_principales ;
}
?>

code de la balise install de plugin :

<?php


function mon_plugin_install($action)
{

switch (
$action)

{
// La base est deja cree ?

case ’test’ :
// Verifier que le champ id_mon_plugin est present...

include_spip(’base/abstract_sql’) ;

$desc spip_abstract_showtable("spip_mon_plugin"’’true) ;
return (isset(
$desc[’field’][’id_mon_plugin’])) ;
break ;
// Installer la base

case ’install’ :

include_spip(’base/create’) ; // definir la fonction

include_spip(’base/mon_plugin’) ; // definir sa structure

creer_base() ;

break ;
// Supprimer la base

case ’uninstall’ :

spip_query("DROP TABLE spip_mon_plugin") ;
break ;
 }
}
?>

ce code ne fonctionne pas,je sais pas pourquoi ?
j’arrive pas à comprendre l’étape de l’installation d’une nouvelle table à la base malgré les doc que j’ai lu ,donc si vous pouvez m’expliquer le code n’hésiter pas.

aider moi,j’en ai besoin de votre aide merci d’avance pour votre attention.

merci cordialement pour votre attention.