Как установить отдельные макеты для каждого модуля? - PullRequest
0 голосов
/ 28 августа 2010

У меня есть мой конфигурационный файл, подобный этому

[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[database]
resources.db.adapter               = PDO_MYSQL
resources.db.params.dbname         = "ccgss"
resources.db.params.username       = "root"
resources.db.params.password       = ""
resources.db.params.hostname       = "localhost"
resources.db.isDefaultTableAdapter = true

[layout]
layoutPath = APPLICATION_PATH "/modules/default/layouts"
contentKey = "content"

Это работает для модуля по умолчанию, но тогда у меня есть панель администратора, и компоновка совершенно другая.Как настроить макет для модуля администратора?

Ответы [ 2 ]

1 голос
/ 28 августа 2010

In application.ini:

resources.layout.layout = "layout"
resources.layout.layoutPath = APPLICATION_PATH "/layouts"
admin.resources.layout.layout = "admin"
admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts"

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

Для получения дополнительной информации см .: http://blog.astrumfutura.com/archives/415-Self-Contained-Reusable-Zend-Framework-Modules-With-Standardised-Configurators.html

1 голос
/ 28 августа 2010

В вашем контроллере вы можете установить макет:

    $layout = Zend_Layout::getMvcInstance();
    $layout->setLayout('admin');
    $layout->setLayoutPath(APPLICATION_PATH . '/modules/admin/layouts');

Возможно, сделайте это в preDispatch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...