0

我在使用 Zend_Navigation 显示面包屑时遇到问题。

我有一个控制器,它接受一个参数来从数据库中查询出文章。因此,如果您指向“articles/view/id/3”,它将返回 id 为 3 的文章。我遇到的问题是面包屑在此逻辑下工作。理想情况下,当转到“articles/view/id/3”时,我希望面包屑是:“Articles > Article_Name”

我的代码很好地呈现导航和子导航,它只是在面包屑上失败,目前没有显示任何内容。

这是我的代码:

1) XML 格式的站点导航,如下所示:

<?xml version="1.0"?>
<zend-config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
  <nav>
    <articles>
      <label>Articles</label>
      <uri>/</uri>
      <order>1</order>
      <active>1</active>
      <visible>1</visible>
      <pages>
        <article_one>
          <label>Article One</label>
          <uri>/articles/view/id/81e728d9d4c2f636f067f89cc14862c</uri>
          <order>1</order>
          <active>1</active>
          <visible>1</visible>
        </article_one>
      </pages>
    </articles>
  </nav>
</zend-config>

2)导航(在布局中):

$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
$nav = new Zend_Navigation($config);
$view = new Zend_View();
$view->navigation($nav);
echo $view->navigation()->menu();

3)面包屑(在文章控制器中):

public function init() {
        $uri = $this->_request->getPathInfo();
        $activeNav = $this->view->navigation()->findByUri($uri);
        $activeNav->class = "selected";
        $activeNav->active = true;
    }

4)面包屑(在布局中):

//Doesn't display anything[/B]
echo $view->navigation()->breadcrumbs()->setLinkLast(true);

提前感谢您的帮助!

4

3 回答 3

1

URI用于什么参数?参数&
在哪里?controlleraction

你可以看这里http://framework.zend.com/manual/ru/zend.view.helpers.html 或者源代码Zend/View/Helper/Navigation/Breadcrumbs.php

于 2011-03-22T21:15:41.380 回答
0

只是为了指出这一点,Actualli 面包屑与 uri 一起使用。

问题是$this->view->navigation()->findByUri($uri)返回一个空对象;因为即使它是在引导程序中设置的,它也看不到。

添加Zend_Registry::set('Zend_Navigation', $navigation);引导文件应该可以解决问题。

干杯

于 2011-04-04T12:36:26.100 回答
0

尝试添加/到 URL。我也有同样的问题。

于 2011-11-11T10:37:16.770 回答