如何使用 Zend Navigation 和 Breadcrumbs 视图助手在 ZF2 中创建具有动态内容的面包屑?例如:
主页 -> 人物 -> John Doe
在这种情况下,“John Doe”是您当前正在查看的个人资料页面,该页面加载了类似 /people/23424 的 uri,其中最后一个参数是人员的 id(可能有数千个)。
鉴于所有导航页面都是在服务配置中创建的,我该怎么做?
如何使用 Zend Navigation 和 Breadcrumbs 视图助手在 ZF2 中创建具有动态内容的面包屑?例如:
主页 -> 人物 -> John Doe
在这种情况下,“John Doe”是您当前正在查看的个人资料页面,该页面加载了类似 /people/23424 的 uri,其中最后一个参数是人员的 id(可能有数千个)。
鉴于所有导航页面都是在服务配置中创建的,我该怎么做?
将导航添加到您的服务配置:
'navigation' => function($sm) {
$navigation = new \Zend\Navigation\Service\DefaultNavigationFactory;
$navigation = $navigation->createService($sm);
/**
* Do extra work here with the nav at instantiate time..
*/
},
或更简单地说:
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory'
现在您可以像这样获取要更改的项目:
$nav = $this->getServiceLocator()->get('navigation');
$page = $nav->findByLabel('My Label');
$page->setLabel('New Label');
您可以使用会话并将面包屑存储在那里。不过,您可能希望将自己限制为 10 页。