DaRkShAfT 0 Denunciar post Postado Março 3, 2011 Oi, Eu tenho a minha aplicação configurada para diferentes módulos, neste caso tenho o default e o admin. Estou utilizando um Bootstrap.php em: - Application ---- configs ---- data ---- modules -------- admin -------- default ---- Bootstrap.php ... Conclusão eu queria configurar a aplicação para cada módulo ter o seu próprio Bootstrap.php Isto porque eu ao fazer no Bootstrap.php actual o _initView(), estou setando o headTitle() que me vai aparecer em ambos os módulos! Assim eu queria ter o Bootstrap.php para cada módulo, então no Bootstrap.php principal eu carregava o que é comum para ambos, e depois no Bootstrap.php especifico do módulo eu setava o que era somente para esse módulo... Estou falando certo? Ou existe outra solução? Valeu[] Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Março 3, 2011 http://www.brunoporto.com.br/2010/09/27/modulos-zend-framework/ Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
DaRkShAfT 0 Denunciar post Postado Março 4, 2011 http://www.brunoporto.com.br/2010/09/27/modulos-zend-framework/ Carlos Eduardo Oi, Penso que a única coisa que me faltava era o seguinte: em application.ini : resources.modules[]= "" Mas eu não sei se era bem isto que eu queria... No entanto eu defini o seguinte: class Admin_Bootstrap extends Zend_Application_Module_Bootstrap { protected function _initView() { $view = new Zend_View; $view->headTitle('Admin'); return $view; } } <?php class Default_Bootstrap extends Zend_Application_Module_Bootstrap { protected function _initView() { $view = new Zend_View; $view->headTitle('Default'); } } mas qd eu carrego o módulo /admin, ele carrega-me também o Bootstrap.php que está no módulo Default... Por exemplo ele vai-me colocar no title da página: DefaultAdmin :( A minha ideia era colocar no Bootstrap.php da aplicação os seguintes métodos: _initDoctype(), etc... depois em cada Bootstrap.php especifico para cada módulo eu definia os seguintes métodos: _initView(), etc... eu penso que isto assim faça sentido... estou fazendo bem? porque razão ele corre também o Bootstrap.php do módulo Default quando eu estou acedendo ao módulo Admin e vice-versa? Valeu[] Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Março 4, 2011 Você tem 2 ou 3 Bootstraps? Veja que no blog ele diz que deve ter 3 (1 da aplicação e 1 de cada módulo). Poste como está os seus Bootstraps e o seu application.ini, além da estrutura do projeto. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
DaRkShAfT 0 Denunciar post Postado Março 4, 2011 Você tem 2 ou 3 Bootstraps? Veja que no blog ele diz que deve ter 3 (1 da aplicação e 1 de cada módulo). Poste como está os seus Bootstraps e o seu application.ini, além da estrutura do projeto. Carlos Eduardo Oi, Sim eu tenho 3 Bootstrap.php -- Application ---- Modules ------- Admin ---------- Bootstrap.php ------- Default ---------- Bootstrap.php ---- Bootstrap.php [production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 appnamespace = "Application" includePaths.library = APPLICATION_PATH "/../library" includePaths.models = APPLICATION_PATH "/models" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resources.frontController.controllerDirectory = APPLICATION_PATH "/modules/default/controllers" resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.frontController.defaultModule = "default" resources.modules[]= "" resources.frontController.params.displayExceptions = 0 ;resources.frontController.params.prefixDefaultModule = "1" ;resources.layout.layout = "layout" ;resources.layout.layoutPath = APPLICATION_PATH "/layouts" admin.resources.layout.layout = "admin" admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts" resources.view[] = ; Autoloader autoloaderNamespaces.0 = "MyLib_" resources.frontController.plugins.acl = "Igest_Controller_Plugin_Acl" class Bootstrap extends Zend_Application_Bootstrap_Bootsrap { protected function _initView() { $view = new Zend_View; $view->setEncoding('UTF-8'); //$view->headTitle('headTitle'); $view->skin = 'myskin'; // Add it to the ViewRenderer $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper( 'ViewRenderer' ); $viewRenderer->setView($view); Zend_Layout::startMvc( array( 'layoutPath' => APPLICATION_PATH . '/modules/default/layouts/scripts', 'layout' => 'default', // default deve ser o nome do arquivo. Ex: default.phtml 'pluginClass' => 'MyLib_Plugins_SetLayout' // é aqui onde acontece a magia ) ); $view->addHelperPath("MyLib/View/Helper", "MyLib_View_Helper"); $view->addHelperPath("MyLib/View/Helper/admin", "MyLib_View_Helper_Admin"); $view->addHelperPath("MyLib/View/Helper/editor", "MyLib_View_Helper_Editor"); $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); $viewRenderer->setView($view); Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); // return it, so that it can be stored by the bootstrap return $view; } } class Admin_Bootstrap extends Zend_Application_Module_Bootsrap { protected function _initView() { $view = new Zend_View; $view->headTitle('Admin'); $view->skin = 'myskin'; return $view; } } class Default_Bootstrap extends Zend_Application_Module_Bootsrap { protected function _initView() { $view = new Zend_View; $view->headTitle('Default'); return $view; } } Ele me carrega sempre os 3 Bootstrap.php... Porque tanto quando acedo ao módulo default ou admin o headTitle é sempre a concatenação de Default + Admin... :angry: Fazia sentido ele carregar o Boostrap.php principal e o Bootstrap.php do módulo ao qual estamos a aceder, agora assim não faz sentido nenhum! [] Compartilhar este post Link para o post Compartilhar em outros sites
Johnny Soares 0 Denunciar post Postado Setembro 5, 2012 Pelo jeito não houve solução para esse caso correto? Estou passando pela mesma situação. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Boeira Jr. 0 Denunciar post Postado Setembro 13, 2012 O Zend carrega TODOS os Bootstraps da aplicação ao iniciar, passei pelo mesmo problema. Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Setembro 14, 2012 Voce ja tentou seguir este tutorial? Clique aqui Compartilhar este post Link para o post Compartilhar em outros sites