Default_Bootstrap переопределяет Admin_Bootstrap - PullRequest
0 голосов
/ 24 марта 2012

В модуле установки Admin модуль Layout and Navigation of Default

application / modules / default / Bottstrap.php

<?php
class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initNavigation()
    {
        $layout = Zend_Layout::startMvc()->setLayout('layout');

        $config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navigation.xml','nav');
        $navigation = new Zend_Navigation($config);
        Zend_Registry::set('Zend_Navigation', $navigation);
    }
}

application / modules / admin / Bottstrap.php

<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initNavigation()
    {
        $layout = Zend_Layout::startMvc()->setLayout('admin');

        $config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navadmin.xml','nav');
        $navigation = new Zend_Navigation($config);
        Zend_Registry::set('Zend_Navigation', $navigation);
    }
}

application / configs / application.ini

;Modules
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultModule = "default"
resources.modules[] =
resources.frontController.actionhelperpaths.Default_Controller_Helper = APPLICATION_PATH "/modules/default/controllers/helpers"

;Layout
resources.layout.layoutpath = APPLICATION_PATH "/layouts"

;View
resources.view.doctype = "HTML5"
resources.view.encoding = "UTF-8"
resources.view.contentType = "text/html; charset=UTF-8"

Ответы [ 2 ]

4 голосов
/ 24 марта 2012

В одномодульном приложении макет и навигация обычно инициализируются в единственном загрузочном уровне уровня приложения (иногда с помощью ссылки на плагин ресурсов приложения).

Однако в многомодульном приложении всеначнется загрузка модуля.Таким образом, последний из выполняющихся в итоге переопределяет все остальные.

Для этих типов задач, которые зависят от знания, какой модуль был запрошен, вы можете использовать плагин фронт-контроллера с крючком routeShutdown().Каждый модуль X может зарегистрировать свои собственные плагины для навигации и компоновки, которые проверяют, соответствует ли запрошенный модуль X. Если нет, поручитесь заранее.Если это так, выполните инициализацию.

См. Статью MWOP на тему начальной загрузки модуля для получения более подробной информации:

http://mwop.net/blog/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts

0 голосов
/ 22 октября 2013

метод загрузки программы в компьютер с помощью нескольких начальных инструкций, которые позволяют вводить остальную часть программы с устройства ввода. запуск (интернет-бизнес или другое предприятие) с минимальными финансовыми ресурсами.

...