[Opened] Administration d'un module
Posted by christian on 02/20/2009 18:58
Bonjour,
Je débute avec Jelix.
J'ai créé un projet de test 'perso' avec un module 'pages' qui affiche le contenu 'body' d'une page HTML dans le MAIN de la page du site. Jusque là, pas de problème. Une table de la base de données fait l'association entre un ID et un nom de fichier. Une autre table me permet de configurer le module (répertoire dans le quel sont stockées les pages).
Je désire maintenant administrer ce module (déclaration des pages HTML dans la base de données). Pour cela, j'ai suivi les chapitres 'Créer une interface d'administration' et 'master_admin' de la documentation. Le module est créé avec une entrée dans les menu pour mon module ('administration des pages'). Pour accéder à l'adminitration c'est cette URL: 'http://localhost/jelix/perso/www/admin.php/master_admin/'. Le problème c'est que l'entrée du memu m'envoie à cette adresse: 'http://localhost/jelix/perso/www/index.php/pages/admin/'.
Dans le controller 'admin.classic.php', si j'utilise '$rep = $this->getResponse('html')', j'ai une page conforme au modèle du site, mais je voudrait rester dans l'interface de l'administration et remplacer la section 'Dashboard' par mon contenu.
J'ai donc modifié le fichier 'jelix\perso\var\config\defaultconfig.ini.php' de la sorte:
[responses] html=myHtmlResponse admin=adminHtmlResponse
et l'appelle la réponse en question dans le controleur:
'$rep = $this->getResponse('admin')'.
C'est alors que j'obtiens l'erreur suivante quand je charge la page:
[exception 11] The selector "pages~adminmenu" doesn't correspond to a resource of type : "zone" C:\Documents and Settings\Christian\Mes documents\Sites Internet\jelix\lib\jelix\core\selector\jSelectorModule.class.php 90
D'où ma question: est-il possible d'utiliser le module d'administration pour gérer complètement l'administration du site ou ce module ne peut-il administrer que les utilisateurs ?
Merci pour votre réponse
[Opened] Re: Administration d'un module
Posted by foxmask on 02/21/2009 12:42
pour répondre rapidement ; non il ne sert pas qu'à gerer les utilisateurs.
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Administration d'un module
Posted by laurentj on 02/22/2009 10:56
bonjour,
Le problème c'est que l'entrée du memu m'envoie à cette adresse: 'http://localhost/jelix/perso/www/index.php/pages/admin/'.
tu as oublié de configurer le moteur d'url pour lui dire que cette action est attribué au point d'entré admin.php. Donc configure le correctement, et tu pourras continuer à utiliser getResponse('html')
[Opened] Re: Administration d'un module
Posted by Guitch on 03/25/2010 15:23
bonjour
débutant aussi sur jelix, j'essaye d'intégrer un module (gestion de news par ex) dans l'espace d'administration Je l'ai bien ajouté dans le menu, mais quand je clique dessus, il me donne la liste que je veux afficher, mais je perds le menu et les mises en forme de l'espace d'administration
Je ne suis pas sur que la réponse "pour répondre rapidement ; non il ne sert pas qu'à gérer les utilisateurs." concerne ce problème, mais j'ai un doute, et surtout je serai étonné que ce ne soit pas possible ...
Donc comment faire pour que je retrouve bien le menu et tout le design de l'espace d'administration ? merci
[Opened] Re: Administration d'un module
Posted by foxmask on 03/25/2010 15:35
je n'ai pas dit "il ne sert pas à gérer" mais "il ne sert pas qu'à gerer".
sinon je n'ai rien compris à votre question :-)
au cas où ; le module master_admin s'utilise comme suit http://jelix.org/articles/fr/manuel-1.1/ref-modules/master_admin
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Administration d'un module
Posted by Guitch on 03/25/2010 16:46
en fait je ne trouve pas la solution à mon petit pb
je réexplique j'ai créé un crud avec une liste d'actualités (module actualites) que je veux utiliser dans le master_admin
donc j'ai créé un fichier actualites.listernet.php :
class actualitesListener extends jEventListener{ function onmasteradminGetMenuContent ($event) { $event->add(new masterAdminMenuItem('actualites', "Actualites", jUrl::get('actualites~admin:index'), 1, 'general')); }
j'ai créé un events.xml avec :
<events xmlns="http://jelix.org/ns/events/1.1"> <listener name="actualites"> <event name="masteradminGetMenuContent" /> <event name="masterAdminGetDashboardWidget" /> </listener> </events>
Mon menu "Actualités" apparait bien Quand je clique dessus j'ai bien la liste des actualités avec le CRUD, mais par contre je n'ai plus du tout le menu, la couleur de fond par défaut du master_admin Donc je cherche à intégrer cette liste dans le master_admin comme est intégré par défaut les liste des utilisateurs ... c'est à dire avoir à gauche le menu, en haut la déconnexion etc ...
merci
[Opened] Re: Administration d'un module
Posted by foxmask on 03/25/2010 17:07
la page est "déshabillée" ? (blanche ?) si vous regardez la source de la page, vous n'avez pas les liens CSS dans le header ?
sinon en principe dans votre methode index du controller admin du module actualite vous devriez avoir qqchose du genre :
$tpl = new jTpl(); $rep->body->assign('MAIN',$tpl->fetch('mon_template_qui_liste_mes_news')); return $rep;
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Administration d'un module
Posted by foxmask on 03/25/2010 17:26
alors probable que le soucis est inherent au CRUD (dont je ne me sers pas) et où il faut lui fournir le template principal du module admin ?
(comme dans les zones où on assign ce dernier avant de s'en servir)
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Administration d'un module
Posted by Guitch on 03/25/2010 18:01
meme en mettant un template normal c'est pareil le pb est ailleurs sans doute
je ne sais pas si ca a de l'importance, mais l'url est du genre "www/index.php?module=membres&action=admin:index" et non pas du genre des users "www/admin.php/admin/auth/users/"
[Opened] Re: Administration d'un module
Posted by Guitch on 03/25/2010 19:33
ok merci ca marche tres bien si on a engine=simple ou engine=basic_significant
mais ca ne marche pas avec engine=significant
y a une solution ?