我已经关注导航/局部的几个教程,并且显示它有问题。我在模块中为view / partial创建了一个文件夹,并向控制器添加了一个动作(不要认为我需要这个)。所以在我的布局中我称之为:
<?php echo $this->navigation('navigation')->breadcrumbs()->setMinDepth(0)->setPartial('partial/breadcrumb.phtml'); ?>
然后,当我尝试加载任何页面时,会出现此错误:
致命错误:Zend \ View \ Exception \ RuntimeException:Zend \ View \ Renderer \ PhpRenderer :: render:无法渲染模板&#34; partial / breadcrumb.phtml&#34 ;;解析器无法解析为第170行/var/www/html/vendor/Zend/View/Helper/Navigation/AbstractHelper.php中的文件
提前感谢任何帮助。
更新:2017年6月18日美国东部时间上午9:20
我有两个页面没有显示面包屑。我认为这是因为他们有'约束'。我把它放在导航中,但似乎没有用。有谁知道这样做的正确方法是什么?
array(
'label' => 'View',
'route' => 'blog/view[/:post_id]',
'action' => 'view',
),
array(
'label' => 'List',
'route' => 'blog/list[/:state_id]',
'action' => 'list',
),
2017年6月19日星期一更新 - 添加了更多导航 导航:
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'home',
),
array(
'label' => 'Blog',
'route' => 'blog',
'pages' => array(
array(
'label' => 'Maps',
'route' => 'blog/maps',
'action' => 'maps',
),
array(
'label' => 'US Map',
'route' => 'blog/us-map',
'action' => 'UsMap',
),
array(
'label' => 'View',
'route' => 'blog/view[/:post_id]',
'action' => 'view',
),
array(
'label' => 'List',
'route' => 'blog/list[/:state_id]',
'action' => 'list',
),
),
),
),
),
答案 0 :(得分:0)
看来你应该隐式映射你正在使用的模板。因此,请打开module.config.php
,然后设置模板
'view_manager' => [
'template_map' => [
// This can be any name
'partial/breadcrumb' => __DIR__ . '/../view/partial/breadcrumb.phtml',
// Other assignments
],
'template_path_stack' => [
__DIR__ . '/../view',
],
],
现在使用以下内容代替setPartial('partial/breadcrumb.phtml')
setPartial('partial/breadcrumb')
添加显示面包屑链接:
虽然我没有看到您的module.config.php
路由配置。我可能错了,但我猜你没有在导航配置中使用route
键的路由名称。如果路线如下所示
'application' => [
'type' => Segment::class,
'options' => [
'route' => '/application[/:action]',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
您的路线配置应位于导航阵列中,如下所示
[
'label' => 'Application',
'route' => 'application', // but not /application[/:action]
'action' => 'view',
],
此处application
是路径名称(路线的顶部键),而/application[/:action]
是路线模式。
告诉我们它是否对您有帮助!