“Modulo Admin” presa in consegna quadro Yii
Domanda
Ho un modulo "admin" e lo voglio servire "controllori dinamici", vale a dire per fornire un comportamento di default per i controller, che in realtà non esistono ( "controller virtuali").
ho inventato un meccanismo di messaggistica leggero per la comunicazione tra i moduli allentato. Mi piacerebbe utilizzarlo in modo tale che, quando ad es.
?r=admin/users/index
è richiesto, si chiamerà il "controller virtuale" "UserController" di AdminModule, che, per impostazione predefinita, utilizzare questo meccanismo di messaggistica per segnalare al modulo vero e proprio "UsersModule" si può rispondere alla richiesta.
I pensato di simulare questo comportamento in AdminModule :: init (), ma a quel punto non ho modo di decidere se l'azione può essere elaborato da un controllore reale o no, o almeno io non so come farlo.
Questo è dovuto al modo in cui funziona Yii: bottom-up, il controllore è quella che rende la vista e il layout di applicazione (o il modulo di, se esiste), per esempio. Non credo che il modulo ha anche una parola da dire sulla gestione di un determinato controller + azione oppure no.
Per ricapitolare, sto cercando una sorta di CWebModule :: missingController ($ controllerId, $ ActionID), proprio come CController :: missingAction ($ ActionID), o una soluzione per simulare questo.
Questo sarebbe forse essere in CWebModule :: init () o da qualche parte dove posso trovare
- se il controller esiste realmente, nel qual caso è il suo lavoro gestirlo
- il $ ActionID e $ controllerID
- se esiste il modulo $ controllerID (non ho digitare sbagliato, in r = admin / utenti / index, "utenti" è il modulo vero e proprio, come specificato nella configurazione dell'applicazione).
Soluzione
Ho trovato una soluzione di http://www.yiiframework.com/forum/index.php?/topic/7569-admin-module-taking-over/page__view__findpost__p__38399