Zend_Navigation:如何为其他操作保存动态添加的页面?

时间:2011-08-24 11:36:53

标签: php zend-framework dynamic 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')。它只包含静态页面'Products',我找不到如何在两个动作之间“保存”导航。

1 个答案:

答案 0 :(得分:0)

navigation容器不能自救

轻松工作的最快方式

在动作控制器的productId方法中从req params中找到preDispatch() id。 如果存在 - 添加正确的产品页链接到Zend_Navigation实例