Annonces
Livre d'or

Par cecileflora

Bonjour la communauté phpboost, très  réactive, un grand merci  a toutes et tous !

Livre d'or

Mini sondage
Etes-vous satisfait du support PHPBoost ?










Résultats

 
   Le 04/04/11 à 23h07 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/02/11
Messages: 86
Bonjour à tous et à toutes ;)

Je me suis lancée dans le développement d'un Module.
Tout va bien sauf un petit détail.

J'ai vue que les autres modules avaient une configuration spécifique dans la table phpboost_configs

Par exemple le module articles à son propre champ, tout comme pas mal d'autres modules.
J'ai regardée dans les requêtes SQL d'installation des modules, à aucun moment il y a une requête qui insère cette configuration.

Par contre en allant dans la partie Admin du module, il y a cette configuration.
Donc ma question est comment est créée la configuration de base du module lors de son installation ?
Elle ne l'est pas et seulement après y être allez valider la configuration ?

Puis-je insérer cette configuration lors de l'installation ?

Merci d'avance 8-)

pm    
   Le 04/04/11 à 23h20 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
Salut à toi FameLady :)

Concernant la configuration, il faut faire plusieurs choses :

Dans ton config.ini tu va mettre :

cache=1


Ensuite lui va vérifier que tu as bien une fonction get_cache()

Il faut donc la rajouter dans le ModuleInterface :

Code PHP :
  1. function get_cache()
  2. {
  3. global $Sql;
  4.  
  5. $ton_module_config = 'global $TON_MODULE;' . "\n";
  6.  
  7. //Récupération du tableau linéarisé dans la bdd.
  8. $TON_MODULE = unserialize($Sql->query("SELECT value FROM " . DB_TABLE_CONFIGS . " WHERE name = 'ton_module'", __LINE__, __FILE__));
  9. $TON_MODULE = is_array($TON_MODULE) ? $TON_MODULE : array();
  10.  
  11. $ton_module_config .= '$TON_MODULE = ' . var_export($TON_MODULE, true) . ';' . "\n";
  12.  
  13. return $ton_module_config;
  14. }


Lui va ensuite créer un fichier de cache de ta config.

Pour modifier ta config et ton cache tu fait dans ton administration :

Code PHP :
$Sql->query_inject("UPDATE " . DB_TABLE_CONFIGS . " SET value = '" . addslashes(serialize($TON_MODULE)) . "' WHERE name = 'ton_module'", __LINE__, __FILE__);
 
$Cache->Generate_module_file('ton_module');


Et pour récupérer ta config
$TON_MODULE
tu fais un
$Cache->load('ton_module');


Voilà, je crois ne rien avoir oublié. J'ajoute que dans la nouvelle version en cour de développement, ce sera, vraiment mais vraiment mieux foutu :)

Edit : J'allais oublier la question première de ton post, pour ajouter la config du module lors de l'install, il faut ajouter dans le config.ini :

Code TEXT :
;config="ta config mais sérialisé avec serialize($value)"




Edité par ReidLos Le 04/04/11 à 23h22

pm http://www.phpboost.com    
   Le 04/04/11 à 23h33 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/02/11
Messages: 86
Merci beaucoup ;)

Par contre toujours concernant la configuration.
Mon module ne sera pas appelé disponible via une page qui lui est propre mais viendra se greffer à n'importe quel page du site.

C'est concernant mon message de header.
Je ne sais pas si j'ai bien compris le principe, j'ai quelques questions :

1) Je suis obligé de le faire en mini module ?

2) Pour spécifier où le placer c'est dans le fichier config.ini ?
Pour la shoutbox j'ai vue sa

Code TEXT :
mini_module="shoutbox_mini.php => right"


Je ne comprend pas trop le fonctionnement
Je dois mettre top dans mon cas ?

Je suis un peu perdu, j'ai rien trouvé :(

pm    
   Le 04/04/11 à 23h41 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
Tu veux mettre un mini module dans le header c'est ça?

pm http://www.phpboost.com    
   Le 04/04/11 à 23h46 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/02/11
Messages: 86
Oui :)

Edit :

Je pense avoir trouvé.

Dans admin/menus/menus.php

J'ai trouvé ceci

Code PHP :
$blocks = array(
   BLOCK_POSITION__HEADER => 'mod_header',
   BLOCK_POSITION__SUB_HEADER => 'mod_subheader',
   BLOCK_POSITION__TOP_CENTRAL => 'mod_topcentral',
   BLOCK_POSITION__BOTTOM_CENTRAL => 'mod_bottomcentral',
   BLOCK_POSITION__TOP_FOOTER => 'mod_topfooter',
   BLOCK_POSITION__FOOTER => 'mod_footer',
   BLOCK_POSITION__LEFT => 'mod_left',
   BLOCK_POSITION__RIGHT => 'mod_right',
   BLOCK_POSITION__NOT_ENABLED => 'mod_main'
);


Je dois mettre tout simplement header si j'ai bien compris.

Code TEXT :
mini_module="monmodule_mini.php => header"




Edité par FameLady93 Le 05/04/11 à 00h00

pm    
   Le 05/04/11 à 00h03 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
Dans ce cas tu met header à la place de top.

pm http://www.phpboost.com    
   Le 05/04/11 à 22h53 Citer      

Booster Fuzil

Groupe: Membre

Sexe:
Inscrit le: 07/02/11
Messages: 86
Juste une petite parenthèse.

En me basant sur certains fichier de PHPBoost j'ai trouvé une petite erreur dans le fichier

Code TEXT :
- news/admin_news.php


Au début dans l'en-tête de présentation il y a

Code PHP :
/*##################################################
 *                               admin_news_config.php
 *                            -------------------


Au lieu de

Code PHP :
/*##################################################
 *                               admin_news.php
 *                            -------------------


Rien de bien grave, mais je tenais à le signaler ;)

pm    
1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
Annonces