Zend Navigation (хлебные крошки) не отображается - PullRequest
0 голосов
/ 22 марта 2011

У меня проблема с отображением хлебных крошек с Zend_Navigation.

У меня есть один контроллер, который принимает параметр для запроса статей из БД.Таким образом, если вы указываете на «article / view / id / 3», он возвращает статью с идентификатором 3. Проблема, с которой я сталкиваюсь, заключается в том, чтобы работать с хлебными крошками по этой логике.В идеале, при переходе к "article / 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);

Спасибо взаранее за любую помощь!

Ответы [ 3 ]

1 голос
/ 23 марта 2011

Для каких параметров URI?Где параметры controller & action?

Вы можете посмотреть здесь http://framework.zend.com/manual/ru/zend.view.helpers.html Или исходный код Zend/View/Helper/Navigation/Breadcrumbs.php

0 голосов
/ 11 ноября 2011

Попробуйте добавить / к URL. У меня тоже была такая же проблема.

0 голосов
/ 04 апреля 2011

Просто чтобы указать на это, сухари Actualli работают с URI.

Проблема в том, что $this->view->navigation()->findByUri($uri) возвращает нулевой объект; потому что, хотя он настроен в начальной загрузке, он не виден.

Добавление Zend_Registry::set('Zend_Navigation', $navigation); в ваш файл начальной загрузки должно решить проблему.

Приветствия

...