Bonsoir,
je cherche à créer des tables pour mon premier plugin, et je tatonne en
décortiquant agenda 2.0.
première question : si dans mon plugin_upgrade, j'inclus ceci :
include_spip('base/create');
include_spip('base/abstract_sql');
creer_base();
il est censé prendre mes trois fonctions
plugin_declarer_tables_interfaces,plugin_declarer_tables_principales,plugin_declarer_tables_auxiliaires et créer la table tout seul ?
deuxième question : y'a-t-il un moyen pour voir/afficher les erreurs php
dans un plug in ? (souvent on n'a pas d'erreur, on a juste une page
blanche)
troisième question : que met on diable dans declarer_tables_interfaces ?
Eventuellement, si vous avez un exemple avec deux tables et une
jointure, je serai très intéressé.
merci,
FX
Bonjour,
Je ferme la première question, ayant trouvé la solution.
il est censé prendre mes trois fonctions
plugin_declarer_tables_interfaces,plugin_declarer_tables_principales,plugin_declarer_tables_auxiliaires et créer la table tout seul ?
Comme la création des tables fonctionne en base, j'en déduis que oui.
Par contre, la suppression des tables, qui ne devrait être qu'une
formalité, ne marche pas.
j'utilise sql_drop_table (comme indiqué ici http://doc.spip.org/@API-sql_).
Je n'arrive pas à savoir si le code de ma fonction pour vider les
tables est exécuté ou pas, j'ai beau mettre des die() dans ma fonction
ou dans le switch qui permet l'installation et la désinstallation,
rien n'y fait. Je suis preneur d'une méthode pour pouvoir débugger les
plugin correctement...
Merci,
FX
Bonjour
première question : si dans mon plugin_upgrade, j'inclus ceci : [...] include_spip('base/...)
Je ferme la première question, ayant trouvé la solution.
Les fonctions d'upgrage ne sont traité qu'avec les incréments de
version <version_base> declaré dans plugin.xml
http://doc.spip.org/@plugin-xml#version_base
Cette documentation peut être complétée, c'est un wiki.
deuxième question : y'a-t-il un moyen pour voir/afficher les erreurs php
dans un plug in ? (souvent on n'a pas d'erreur, on a juste une page
blanche)
Pour les log tu as :
-* la gestion des erreurs via php.ini :
-* la trace avec spip_log() : http://doc.spip.org/@spip_log
-* des outils de trace comme chez zend
troisième question : que met on diable dans declarer_tables_interfaces ?
Si je ne m'abuse tu as un bout d'informations sur
http://doc.spip.org/@Ajouter-des-tables-et-des-boucles
Toutefois je t'invite fortement à compléter la documentation.
Km
Bonsoir,
-* la trace avec spip_log() : http://doc.spip.org/@spip_log
J'ai l'impression qu'il y a un verrouillage ou une inclusion quelconque
qui fait que je ne peux pas voir les tentatives de tracage.
dans mon fichier plugin_upgrade.php, j'ai rajouté ceci avant les
fonctions :
include_spip('inc/utils');
$GLOBALS['plugin_base_version'] = 0.1;
spip_log($GLOBALS['plugin_base_version'], 'plugin');
Ce qui selon la doc, devrait créer un fichier plugin.log et le remplir
du contenu de ma variable base_version. et bien rien !
J'avais auparavant essayé d'autres messages et pas de noms de fichiers,
sans obtenir davantage de résultats.
plus loin, j'ai
function plugin_vider_tables() {
include_spip('base/plugin_definitions');
include_spip('base/abstract_sql');
sql_drop_table("spip_table1");
sql_drop_table("spip_table2");
sql_drop_table("spip_table3");
effacer_meta('plugin_base_version');
}
mais si la création se met en branle, les tables refusent
continuellement de s'effacer...
> troisième question : que met on diable dans declarer_tables_interfaces ?
Si je ne m'abuse tu as un bout d'informations sur
http://doc.spip.org/@Ajouter-des-tables-et-des-boucles
Toutefois je t'invite fortement à compléter la documentation.
Dès que j'aurais les connaissances adéquates, pas de souci...
FX