creer un mini module [Réglé]
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
Merci pour toute l'aide que l'equipe phpboost m'a déjà apportée

J'aurais encore une petite question,
J'ai créé un petit module qui permet de donner les 2 prochains annifs dans notre team, j'aimerais retrouver ce module dans le menu.
Si je ne me trompes pas, il y a 2 manière de le faire, la première est de le mettre dans le dossier "menu" du ftp et la seconde est de créer un fichier "module_mini".
J'ai essayé les 2 solutions sans succès :/
Voilà pour le code,
Code PHP :
<?php function menu_dates_mini($position, $block) // On indique le nom du menu que l'on retrouvera dans l'admin/menu/gestion { $tpl = new Template('dates/dates_mini.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); ?> <?php include("date.php"); global $Sql; $reponse = $Sql->query_while("SELECT * FROM ".PREFIX."annif WHERE (DAY( NOW( ) ) <= DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) AND MONTH( NOW( ) ) = MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) )) OR (MONTH( NOW( ) ) < MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) AND DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) )) ORDER BY MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) ASC , DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) ASC LIMIT 0,1", __LINE__, __FILE__); // // ou le jour d'aujourd'hui est plus petit ou egal au jours dans colonnes dates et ou le mois d'aujourd'hui est plus petit ou egal au mois dans colonnes dates while ($donnees = mysql_fetch_array($reponse)) { $tpl->assign_block_vars('list_dates', array( 'LOGIN' => $donnees['login'], $date = $donnees['dates'], 'JOURS' => substr("$date", 3, 4), 'MOIS' => substr("$date", 0, 2), )); } $reponse1 = $Sql->query_while("SELECT * FROM ".PREFIX."annif WHERE (DAY( NOW( ) ) <= DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) AND MONTH( NOW( ) ) = MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) )) OR (MONTH( NOW( ) ) < MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) AND DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) )) ORDER BY MONTH( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) ASC , DAY( CONCAT( YEAR( NOW( ) ) +1, '-', dates ) ) ASC LIMIT 1,1", __LINE__, __FILE__); while ($donnees = mysql_fetch_array($reponse1)) { $tpl->assign_block_vars('list_dates1', array( $login = $donnees['login'], $date = $donnees['dates'], $jours = substr("$date", 3, 4), $mois = substr("$date", 0, 2), 'LOGIN2' => $login, 'JOURS2' => $jours, 'MOIS2' => $mois, )); } $tpl->parse(); } ?>
Voila,
j'ai testé le module en tant que tel, il est bien fonctionnel, mais je ne le retrouve pas dans le panneau d'admin en menu/gestion
le nom du fichier est : dates_mini.php
et le tpl correspondant dates_mini.tpl
Édité par Tezz Le 04/06/2010 à 15h05
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
jjcc Membre non connecté
Booster Roquette
-
Booster Roquette
- Voir le profil du membre jjcc
- Inscrit le : 29/04/2009
- Site internet
peut-être :
Citation :
global $CONFIG, $Sql;
votre site sur mon annuaire !! c'est gratuit .. La Rochelle et....
L'esprit d'équipe... C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent !
L'esprit d'équipe... C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent !

Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
J'avais bien déclaré dans le config.ini le lien vers le mini module :
name="dates"
author="Yves"
author_mail="***************"
author_link="http://www.phpboost.com"
version=0.5
info="Module affichant les prochains anniversaires"
date="26/04/10"
compatibility="3.0"
admin="modules"
admin_links=""
css=1
cache=1
sql_table=1
starteable_page="dates.php"
contribution_interface=""
com=""
note=""
mini_module="dates_mini.php"
url_rewrite=""
;config="a:1:{s:11:"config_dates";s:4:"dates";}"
Mais je ne le vois quand même pas dans l'administration.
J'ai bien installé le module aussi et il est fonctionnel.
J'comprends vraiment pas pourquoi il refuse de bien fonctionner

jjcc :
as-tu besoin de ton include dans ton code ? mais bon je ne suis pas un spécialiste
peut-être :
peut-être :
Citation :
global $CONFIG, $Sql;
J'utilise un include car le fichier dates.php est codé en php normal, mais même en désactivant l'include je me retrouve toujorus avec le problème.
Édité par Tezz Le 04/06/2010 à 15h03
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
ben.popeye :
Le fichier PHP s'appelle comment ?
dates_mini.php
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
dommage pour moi .
en fait,
pour être un peu plus clair,
J'ai quasiment fait un copy-colle du module date dans le "dates_mini.php".
Le module date est installé, et quand je vais sur la page en question, il m'affiche bien les 2 prochains anniversaires. Donc le code est normalement fonctionnel.
Je me casse la tête depuis hier pour afficher directement le résultat dans le menu, mais sans succès.
Code PHP :
<?php function dates_mini($position, $block) // On indique le nom du menu que l'on retrouvera dans l'admin/menu/gestion { $tpl = new Template('dates/dates_mini.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); Mon code $tpl->parse(); } ?>
Voici ce que j'ai ajouté au code original 'dates.php" pour créer le fichier "dates_mini.php"
Tout en oubliant pas d'écrire :
mini_module="dates_mini.php"
dans le fichier "config.ini"
Mais est-ce qu'il faudrait ajouter un "require_once" pour que le mini module aille bien voir le config.ini?
Quoi que je fasse je tourne en rond pour le moment
Édité par Tezz Le 04/06/2010 à 17h31
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Si oui, désinstalle le et réinstalle le, c'est lors de l'installation qu'il cherche les menus disponibles.
Et pour la fonction, laisse le nom que je t'ai indiqué, ça ne marchera pas sinon.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
J'ai désinstallé le module, puis supprimé le dossier en question du ftp, puis remis et réinstallé le module, sans changement.
Merci pour l'aide en tout cas, je suppose qu'en final, ce sera une bête erreur lol
jjcc Membre non connecté
Booster Roquette
-
Booster Roquette
- Voir le profil du membre jjcc
- Inscrit le : 29/04/2009
- Site internet
merci
votre site sur mon annuaire !! c'est gratuit .. La Rochelle et....
L'esprit d'équipe... C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent !
L'esprit d'équipe... C'est des mecs qui sont une équipe, ils ont un esprit ! Alors, ils partagent !

ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Code :
mini_modules="dates_mini.php => left"Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
C'est nickel, enfin il apparait dans le menu ^^
Un grand pas en avant.
Ceci dit, il s'affiche pas dans le menu de gauche, tss.. arriverais-je un jour a l'avoir la ou je voudrais


alors que dans le menu :

Enfin, voila, c le dernier truc a régler
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
jjcc :tu pourrais m'envoyer un zip !! pour que je teste ton module sur l'un de mes sites d'essais ?
merci
Voilà pour le module, ceci dit, il faut créer une table phpboost_annif avec 2 colonnes,
une "login" et une "dates"
login varchar(255) latin1_swedish_ci
dates varchar(255) latin1_swedish_ci
Le but de cette table est surtout d'avoir une table avec les groupes voulus, donc, les membres et staff de la team. Et pas tout les gens inscrits ainsi que de remodéliser la date sans l'année.
Enfin, sur le fichier zippé, j'ai retiré la sélection des groupes, histoire que ça fonctionne chez toi.
voici le fichier : dates.rar
Tezz Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre Tezz
- Inscrit le : 26/04/2010
J'ai enfin trouvé,
a la fin de mon fichier php j'avais mis :
$tpl->parse();
Alors qu'étant donné que j'étais dans une fonction, je devais mettre :
return $tpl->parse(TEMPLATE_STRING_MODE);
enfin, pour le string mode j'en sais rien mais voila,
il est fonctionnel, et donc plus ou moins terminé,
merci pour l'aide !!
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie