[Risolto] Problema load plugin

Salve a tutti,

da due giorni "combatto" con i plugin. Dovrei inserire un plugin che mi consenta di settare il layout in base al modulo che viene caricato. Premetto che sto toccando per la prima volta l'argomento plugin e che non riesco a trovare molte informazioni a riguardo.

Credo di riuscire a registrare il mio plugin. L'ho fatto in diverse maniere, ma ho sempre lo stesso errore. Ovvero, mi viene visualizzato il codice del mio plugin e sotto viene riportato il seguente errore:

Fatal error: Uncaught exception 'Zend_Exception' with message 'File "Mio/Plugin/Layout.php" does not exist or class "Mio_Plugin_Layout" was not found in the file' in /usr/share/php/zend/library/Zend/Loader.php:99 Stack trace: #0 /usr/share/php/zend/library/Zend/Layout.php(271): Zend_Loader::loadClass('Mio...') #1 /usr/share/php/zend/library/Zend/Layout.php(254): Zend_Layout->_initPlugin() #2 /usr/share/php/zend/library/Zend/Layout.php(161): Zend_Layout->_initMvc() #3 /usr/share/php/zend/library/Zend/Layout.php(176): Zend_Layout->__construct(Array, true) #4 /home/miosito/www/new/application/Bootstrap.php(114): Zend_Layout::startMvc(Array) #5 /usr/share/php/zend/library/Zend/Application/Bootstrap/BootstrapAbstract.php(665): Bootstrap->_initDatabase() #6 /usr/share/php/zend/library/Zend/Application/Bootstrap/BootstrapAbstract.php(618): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('database') #7 /usr/share/php/zend/library/Zend/A in /usr/share/php/zend/library/Zend/Loader.php on line 99

Idee? Sto veramente iniziando a sbroccare  :wallbash:

Grazie

inviato 6 anni fa
Leprechaun
modificato 6 anni fa
Mario Santagiuliana
X 0 X

Signori chiedo scusa...

Dopo due giorni e mille prove mi sono reso conto che non avevo messo il tag <?php.

La cosa è sconvolgente... chiedo scusa. Ora cercherò di capire se il plugin fa ciò che vuole, ma credo proprio che venga caricato correttamente.

Purtroppo mi rendo sempre più conto che quando si sbatte la testa con una cosa l'errore è quasi sempre ridicolo, e bisogna staccare un pò per trovarlo.

Chiudete pure il topic

Sorry :(

risposto 6 anni fa
Leprechaun
X 0 X

Scusatemi, ho caricato finalmente questo plugin, che in pratica è qualcosa di simile a quello che ho trovato su questo sito per il caricamento del layout in base al modulo.

class My_Layout_Controller_Plugin_Layout extends Zend_Layout_Controller_Plugin_Layout {

    public function preDispatch(Zend_Controller_Request_Abstract $request) {

        switch ($request->getModuleName()) {

            case 'admin':

                $this->_moduleChange('admin');

                break;

            case 'sport':

                $this->_moduleChange('portale');

                break;

        }

    }

    protected function _moduleChange($moduleName) {

        Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH.'/modules/'.$moduleName.'/layouts/views');

    }

}

Non riesco a capire come mai nel caso di "portale" che è settato nell'application.ini come defaultModule il plugin venga lanciato due volte con conseguente errore. Mentre nel caso di admin venga eseguito una sola volta e correttamente. Ho provato a mettere degli ECHO nel codice, e tramite quello ho visto che viene eseguito due volte nel primo caso. Idee?

Grazie :)

risposto 6 anni fa
Leprechaun
X 0 X

Puoi fornire più informazioni? Sugli errori ecc?

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ho risolto utilizzando "dispatchLoopStartup" invece di "preDispatch".

Così viene caricato il plugin una sola volta.

Tnx

risposto 6 anni fa
Leprechaun
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda