- 1
[Opened] Intégrer module dans Master_admin
Posted by dantahoua on 01/19/2010 19:38
Bonjour. J'essaye d'intégrer mon module d'administration de news dans master_admin, voici ma démarche
- Création d'un module news. Pour l'instant c'est le même que dans le tuto JelixNews.
- Création du controlleur admin.classic.php
class adminCtrl extends jControllerDaoCrud { protected $dao = 'news~news'; protected $form = 'news~newsform'; protected $listTemplate = 'news~crud_list'; protected function _getResponse(){ $rep = $this->getResponse('html'); $rep->title = "Gestion des nouvelles"; return $rep; } }
- Ajout de event.xml dans le dossier news. Le contenue:
<events xmlns="http://jelix.org/ns/events/1.0"> <listener name="news"> <event name="masteradminGetMenuContent" /> </listener> </events>
- Ajout de news.listener.php dans classes
class newsListener extends jEventListener{ function onmasteradminGetMenuContent ($event) { $event->add(new masterAdminMenuItem('news', "Gérer les nouvelles", jUrl::get('news~admin:index'), 30, 'general')); } }
Et la je bloque. Si je vais dans master admin, mon lien apparait bien mais il me redirige vers index.php/news/admin, or je voudrai qu'il me redirige vers admin.php/news/admin (qui fonctionne bien quand je le tape à la main). J'ai compris qu'il fallait changer qqchose dans defaultconfig.ini.php, probablement à la ligne basic_significant_urlengine_entrypoints (j'utilise le basic_significant), mais je ne trouve pas.
- Autre chose, comment faire pour que ce module ne soit accessible QUE dans master admin, et que mon controlleur news.classic.php lui soit accessible sur la partie public du site (pour l'instant tout est accessible publiquement)?
- Ou mettre le dashboard listener, je voulais avoir la liste des news sur le dashboard d'entré mais en mettant un fichier dashboard.listener.php dans news/classes, il ne le prend pas en compte.
Merci pour vos réponses.
[Opened] Re: Intégrer module dans Master_admin
Posted by dantahoua on 01/19/2010 20:30
Je répond à une de mes question concernant le dashboard:
- Rajouter la ligne
<event name="masterAdminGetDashboardWidget" />
dans events.xml
- La fonction onmasterAdminGetDashboardWidget doit être dans le fichier news.listener.php
Pour l'histoire de l'accessibilité du module, j'ai vu qu'il y a un fichier de config dans var/config/admin. Si je rajoute news~*@classic à la ligne admin="", le lien fonctionne correctement. Par contre cette page d'admin des news est toujours accessible à partir du site sans authentification. Comment faire pour que l'on puisse ouvrir admin.classic.php seulement à partir de master_admin? Mon but étant que mon module admin doit être indépendant du reste et doit gérer aussi bien l'affichage des news que leur administration.
- 1