Как использовать разную загрузку для разных модулей в Zend Framework - PullRequest
0 голосов
/ 19 июня 2009

У меня есть два модуля, default и mojo.
После начального кода начальной загрузки, который одинаков для обоих модулей, я хочу, например, использовать разные макеты для каждого модуля (или использовать проверку разных учетных данных и т. Д.).
Куда мне поместить это: ЕСЛИ (module == 'mojo') сделать это, ПРОСТО ЭТО делать

Ответы [ 3 ]

3 голосов
/ 19 июня 2009

Если вы используете Zend_Application (в ZF1.8), то вы должны иметь возможность использовать специфические параметры конфигурации модуля для обеспечения этой функциональности с помощью, как описано в соответствующем разделе в документации .

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

mojo.resources.layout.layout = "mojo"

anothermodule.resources.layout.layout = "anotherlayout"

После этого макет автоматически устанавливается загрузчиком.

Другой альтернативой является использование плагина фронт-контроллера, который реализует метод preDispatch () для установки макета на основе имени модуля.

1 голос
/ 19 июня 2009

хм, я не пробовал это

http://www.nabble.com/Quick-Guide-How-to-use-different-Layouts-for-each-module-to23443422.html#a24002073

То, как я это сделал сейчас, было через плагин фронт-контроллера

что-то вроде

switch ($request->getModuleName()) {
   case "": 
      // set layout ...
}
0 голосов
/ 20 июня 2009

Я изучал эту тему пару дней назад, пытаясь заставить ее работать только в конфигурации начальной загрузки. Большая проблема заключается в том, что загружаются все файлы начальной загрузки, поэтому он дает странные результаты при использовании макета.

Я пришел к выводу, что вы можете иметь конфигурацию на месте, но вам нужно работать с плагинами FrontController или помощниками ActionController. Если вы хотите использовать конфигурацию, установленную в application.ini, и хотите загрузить конфигурацию через загрузчик, помощники - единственный путь. Затем из помощника вы можете загрузить ActionController и выполнить команду getInvokeArgs для загрузки начальной загрузки. Много суеты ...:)

Во всяком случае, я сделал небольшую реализацию в качестве примера в сообщении в блоге: http://blog.keppens.biz/2009/06/create-modular-application-with-zend.html

Гудлак

Йерун

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