Разработчик Novice Zend Framework пытается найти простое решение проблемы с Zend Routing. Я уверен, что один из вас, профессионалы, может протянуть руку.Zend_Navigation несовместим с Zend_Router при написании контроллера/действий?
У меня есть веб-сайт (встроенный в Zend Framework с использованием Zend_Navigation), который содержит 75% статических HTML-страниц и несколько контроллеров. Навигатор верхнего уровня построен в Zend_Navigation, обводя частичные части.
Из-за моей работы я строю много сайтов вдоль этих строк (содержащих много статических страниц), поэтому я хочу, чтобы это правильно. Я не хочу настраивать контроллеры и действия для каждой из этих статических страниц (их много), и я хотел создать решение, в котором я использовал Zend_Controller_Router_Route
для автоматического маршрутизации всего статического контента до StaticController
, чья работа была бы включать или визуализировать .phtml-страницы на основе контроллера/действия в URL-адресе из какого-то справочника, например /layouts/staticpages
Из-за SEO и по различным причинам я не хочу, статические страницы будут видны как /static/page/page1
... Это должно быть «реальный мир» описанием этого /section/page
(например advantages/someadvantage
.)
Вот проблема: Использование Zend_Controller_Router_Route
может выполнить эту работу, когда я настроил правильные маршруты, но это испортит что-то ужасное с Zend Navigation ... Я предполагаю, что Zend_Navigaion не играет хорошо с помощью «на лету» контроллера/переключения действий.
Пример кода:
$router = Zend_Controller_Front::getInstance()->getRouter();
$route = new Zend_Controller_Router_Route('advantages/:page/*',
array('controller' => 'static', 'action' => 'display', 'mode' => 'advantages',
'page' => 'index'));
$router->addRoute('advantages', $route);
Это обрабатывает задание переключения страниц в «преимуществе» раздела достаточно хорошо, но автоматический контроллер/запись действий Zend_Navigation в И подсвечивание «активных» узлы заканчивает тем, что все ввинчивается потому что теперь он думает, что его контроллер «статический», а действие - «отображение».
Является ли Zend_Navigation принципиально несовместимым с Zend_Controller_Router_Route
? Есть ли лучший способ сделать этот единственный статический контроллер страниц или обработать статический контент по всем направлениям?
Не могли бы вы изменить свой вопрос, чтобы включить пример того, как вы добавляете свои страницы в Zend_Navigation? –