Zend_Navigation: как сделать, чтобы динамически добавленная страница сохранялась для других действий? - PullRequest
0 голосов
/ 24 августа 2011

Я работаю с Zend_Navigation для сайта с более чем 100 ссылками.Навигация имеет несколько статических страниц, например, «Продукты».Некоторые страницы создаются динамически, например, когда пользователь переходит на страницу продукта, в действии продукта создается страница навигации:

$pageToAdd = array (
    'label' => 'Product 01',
    'controller' => 'productController',
    'action' => 'productAction'
);
$this->view->navigation()->findByLabel('Products');

Это прекрасно работает.Затем для каждого продукта пользователь может получить другую страницу с параметрами, относящимися к продукту, и я хотел бы добавить еще одну страницу к ранее созданному.Итак, в действии «опцион-продукт» я делаю то же самое:

$pageToAdd = array (
    'label' => 'Option for product 01',
    'controller' => 'productController',
    'action' => 'optionsProductAction'
);
$this->view->navigation()->findByLabel('Product 01');

Но в это время предыдущая страница («Товар 01») больше не существует в навигации.Он содержит только статическую страницу «Продукты», и я не могу найти, как сохранить «навигацию» между двумя действиями.

1 Ответ

0 голосов
/ 24 августа 2011

navigation контейнеры не спасают себя

самый быстрый способ для простых заданий

поиск productId id из параметров req в preDispatch() методе вашего контроллера действий.если существует - добавьте правильную ссылку на страницу продукта в Zend_Navigation экземпляр

...