Bonjour et merci à JC et toutati pour leurs réponses.

JC a dit :
/Dans mon paquet.xml, j'ai un pipeline//
//<pipeline nom="ieconfig_metas" inclure="inc/escal_pipelines.php" />//
////
//Et dans inc/escal_pipelines.php, j'ai la fonction//
//function escal_ieconfig_metas($table){//
//    $table['escal']['titre'] = Escal;//
//    $table['escal']['icone'] = 'images/escal16.png';//
//    $table['escal']['metas_brutes'] = 'escal,escal_base_version';//
//    return $table;//
//}//
////
//De plus en bas de chaque formulaire de configuration, j'ai ceci ://
////
//<!-------------------------------------------------------------------------------->//
//<!-- Stockage des donnees ------------------------------------------------------->//
//<!-------------------------------------------------------------------------------->//
////
//    <input type="hidden" name="_meta_casier" value="escal/config" />//
//    <br /><br />/

/===================================================================
/

Au vu de la fonction /escal_ieconfig_metas/, j'ai l'impression que ton plugin utilise un autre plugin (Importeur / Exporteur de configurations <https://contrib.spip.net/Importeur-Exporteur-de-configurations>). Je n'ai pas l'impression qu'il soit dans plugin_dist. De plus, la ligne en bas de tes formulaires de configuration est tout à fait normale et sert à indiquer le casier <https://contrib.spip.net/API-CFG-CONFIG-lire_config> où enregistrer la configuration.

==================================================================

Toutati a dit :

/ne vous cassez pas la tête, utilisez le plugin La Fabrique ! [...] les données seront stockées dans la table spip_meta./

=================================================================

J'utilise déjà La Fabrique ;) Et je disais dans mon message initial que je cherchais à enregistrer la configuration de mon plugin dans une AUTRE table que /spip_meta/... C'est ça mon besoin ;)

Pour l'instant, j'ai une solution qui marche <https://www.spip.net/fr_article5414.html#Utiliser-une-autre-table-pour-stocker-les-valeurs-configurees> mais je voulais juste comprendre l'utilisation de l'attribut meta dans la balise paquet du fichier paquet.xml car je n'y arrive pas. Ma solution actuelle est la suivante :

Dans le fichier mon_plugin_administrations.php :

function mon_plugin_upgrade($nom_meta_base_version, $version_cible) {
        // Création de la table qui stockera la config du plugin
        $maj['create'] = array(
                array('installer_table_meta','meta_mon_plugin'),
                array('ecrire_config', '/meta_mon_plugin/config1', 'Une config 
simple'),
                array('ecrire_config', '/meta_mon_plugin/config2', array('exemple1' 
=> 'lol', 'exemple2' => 'mdr'))
        );
}

function mon_plugin_vider_tables($nom_meta_base_version) {
        // Suppression de la table qui stocke la config du plugin
        sql_drop_table('spip_meta_mon_plugin');
        // Effacement de la version du schema du plugin dans la table spip_meta
        effacer_meta($nom_meta_base_version);
}

Puis, en bas de mes formulaires de configuration, j'ai ces deux input masqués :

<input type="hidden" name="_meta_table" value="meta_mon_plugin" />
<input type="hidden" name="_meta_casier" value="mon_casier" />

Pour récupérer une option de configuration :

#CONFIG{/meta_mon_plugin/config1}
#CONFIG{/meta_mon_plugin/config2/exemple1}
#CONFIG{/meta_mon_plugin/mon_casier/exemple}

        


*Pierre-Jean CHANCELLIER*

/Cellule technique des technologies de l'Information et de la Communication (CeTTIC)
Centre de Ressources Informatiques/

Université du Havre
_tél :_ 02.32.74.*42.08*




Le 18/11/2019 à 17:17, Pierre-Jean CHANCELLIER a écrit :
Bonjour,

J'essaie de développer mon premier plugin pour SPIP et j'aimerais
enregistrer la configuration de mon plugin dans une nouvelle table SQL.

Du coup, j'ai voulu tester l'attribut "meta" de la balise "paquet" du
fichier paquet.xml mais je n'arrive pas à l'utiliser. Même en créant
la table via la fonction mon_plugin_upgrade(), j'ai une erreur lors
de l'activation du plugin.

Comme je ne trouve aucun exemple d'utilisation de cet attribut,
j'aimerais savoir si qqun pourrait m'expliquer comment il peut
s'utiliser.

Merci d'avance,

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

Répondre à