2

我的zend导航有问题。我使用 zend 导航,当我在 url 中调用类似这样的内容时它可以:

www.website/article_new, www.website/article_list, 
www.website/friends_new, ...

但我想用这样的一些参数调用该站点:

www.website/article_new/123452/2335/45633246, 
www.website/friends_new/23453/3453524/34554

我尝试设置一些参数,但这不起作用。

我将导航放在引导程序中,并在我使用它的布局中。它是一个带有一些面包库的导航,其中 display:true 和 display:false。这是我的引导程序中的代码:

$navigation = new Zend_Navigation(array(
                                    array(
                                        'label' => 'Home',
                                        'controller' => 'index',
                                        'action' => 'index',
                                        'class' => 'menuF'
                                    ),
                                    array(
                                        'label' => 'Article',
                                        'controller' => 'Article_List',
                                        'id' => 'article',
                                        'action' => 'index',
                                        'class' => 'menu',
                                        'pages' => array(
                                            array(
                                            'label' => 'Neu',
                                            'id' => 'article',
                                            'controller' => 'Article_New',
                                            'action' => 'index',
                                            'class' => 'submenu'
                                            )
                                        )
                                    ).....

以及 layout.phtml 中的代码。在此代码中,我显示是否显示面包屑。

foreach($container as $page) {
                    $par = $active;
                    if ($page != $active && $page->getClass()!='menu' && $page->getClass()!='menuF' && $page->getID()!=$par->getID()) {
                        $page->setClass('submenu');

                    } else {
                        $found = $container->findAllBy('ID', $active->getID());
                        foreach($found AS $p){
                            if($p->getClass()!='menu'&&$p->getClass()!='menuF'){
                                $p->setClass('sub');
                            }
                        }
                    }
                }
                echo $this->navigation()->menu()->renderMenu($this->nav);

希望有人可以帮助我!谢谢大家!最好的问候汤姆

4

2 回答 2

0

我发现自己的错误!

我想这样称呼:www.website/article/344435/23452345

这肯定会引发错误,因为没有像 344435 这样的操作

像这样 www.website/article/show/var1/2435234/var2/2345234352 没关系。

剩下的就是路由了!

对大家非常抱歉!伟大的汤姆

于 2011-05-19T09:16:52.987 回答
0

尝试使用路由名称而不是模块、控制器和动作系统。

array(
 'label' => 'Article',
 'route' => 'Article_List',
 'id' => 'article',
 'class' => 'menu',
 ...
)

路由器将处理所有 URL 解析并返回正确的变量。

于 2012-09-15T14:59:55.983 回答