Визуализация частей макета в Zend Framework - PullRequest
0 голосов
/ 15 августа 2010

Мое приложение должно работать так.Во-первых, действие по умолчанию контроллера по умолчанию (в соответствии с URL) выполняет свою работу.Для целей этого вопроса давайте назовем его MyController и indexAction.

Затем он пересылает ($ this -> _ forward) в мой LayoutController menuAction, который отображает часть навигации (меню из базы данных), и пересылает в footerAction, который затем визуализируетнижний колонтитул из базы данных (вещи, которые находятся в БД, но должны быть видны на каждой странице).

Наконец, /views/scripts/my/index.phtml отображается в макете с помощью $ this-> layout () -> содержание.

Вопрос в том, как сделать так, чтобы другие части макета отображались в соответствующих местах?Нужны ли мне дополнительные файлы menu.phtml и footer.phtml, которые каким-то образом будут визуализированы LayoutController menuAction и footerAction и каким-то образом вставлены в соответствующие места внутри layout.phtml?Или я могу иметь только один скрипт layout.phtml со всем html внутри, а menuAction / footerAction просто предоставляет текст из БД для вставки?

Меня интересует хорошая практика программирования, а также технические "как делать", если можете.

1 Ответ

2 голосов
/ 15 августа 2010

Я думаю, вам следует использовать только один layout.phtml в качестве шаблона. Таким образом, ваше действие по умолчанию будет отображать не содержимое макета, а содержимое самой страницы. Например, в приложении для блога у вас будет боковая панель и нижний колонтитул, а также содержимое публикации. Ваш -> viewPostAction () отобразит сообщение, а плагин с методом -> postDispatch () отобразит содержимое макета на каждой странице.

Вы можете взять за основу этот вопрос: как вызвать несколько действий контроллера из любого действия в ZF?

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