Zend_Navigation:如何为其他操作保存动态添加的页面?
我正在使用 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”)。它只包含静态页面“产品”,我找不到如何在两个操作之间“保存”导航。
I'm working with Zend_Navigation for a shopping site with 100+ references. The Navigation has some static pages, like the 'Products' one. Some pages are dynamically created, for instance, when the user goes to a product page, the navigation page is created in the product action:
$pageToAdd = array (
'label' => 'Product 01',
'controller' => 'productController',
'action' => 'productAction'
);
$this->view->navigation()->findByLabel('Products');
This works fine. Then, for each product, the user can get another page with options relative to the product, and I'd like to add another page to the previously created. So, in the 'options-product' action, I do the same thing:
$pageToAdd = array (
'label' => 'Option for product 01',
'controller' => 'productController',
'action' => 'optionsProductAction'
);
$this->view->navigation()->findByLabel('Product 01');
But at this time, the previous page ('Product 01') does not exist anymore in the navigation. It only contains the static page 'Products', and I cannot find how to have the navigation 'saved' between the 2 actions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
navigation
容器并不是以最快的方式保存自己,以便轻松地
从操作控制器的
preDispatch()
方法的请求参数中查找productId
id。如果存在 - 添加正确的产品页面链接到
Zend_Navigation
实例navigation
containers isnt saves themselffastest way for easy jobs
find
productId
id from req params atpreDispatch()
method of your action controller.if exists - add a right product page link to
Zend_Navigation
instance