zf2 breadcrumbs - 子页面

时间:2014-07-07 14:03:58

标签: zend-framework2 breadcrumbs

我的应用程序的bradcrumbs配置有问题。

我从我的模块的报告配置开始:

'corso' => array(
    'type' => 'segment',
    'options' => array(
        'route' => '/corso[/:action[/:id]]',
        'constraints' => array( 'id' => '[0-9]*', 'action' => '[a-zA-Z][a-zA-Z0-9_-]+'),
        'defaults' => array(
            'controller' => 'corso/Controller/corso',
            'action' => 'index',
        ),
    ),
),

控制器具有通常的方法索引,添加和编辑基本crud操作的操作

从配置文件中可以看出,添加和编辑操作不是子路由。

我想得到这种类型的bradcrumbs

家&GT; <索引动作控制器>添加/编辑操作

第一和第二个元素是链接。

这是面包屑的局部视图

<li><a href="<?php echo $this->url('home') ?>"><i class="iconfa-home"></i></a> <span class="separator"></span></li>
<?php $active = $container->findActive($navigation) ?>
<?php foreach($this->pages as $page): ?>
    <?php /* @var $page \Zend\Navigation\Page\Mvc */ ?>
    <?php if( ! $page->isActive()): ?>
        <li>
            <a href="<?php echo $page->getHref() ?>"><?php echo $page->getLabel() ?></a>
            <span class="divider">/</span>
        </li>
    <?php else: ?>
        <li class="active">
            <?php if($container->getLinkLast()): ?><a href="<?php echo $page->getHref() ?>"><?php endif ?>
                <?php echo $page->getLabel() ?>
                <?php if($container->getLinkLast()): ?><a href="<?php echo $page->getHref() ?>"><?php endif ?>
        </li>
    <?php endif ?>
<?php endforeach ?>

我应该添加什么?

'navigation' => array(
    'default' => array(

        array(
            'label' => 'corso',
            'route' => 'corso',
            'action' => 'index'
        ),
      -----
    ),
),

感谢

编辑: 我使用zf2 helper for bredcrumbs

$this->navigation('navigation')->breadcrumbs()->setMinDepth(0)->setPartial(array('partial/breadcrumb', 'corso'));

1 个答案:

答案 0 :(得分:0)

Zend \ Navigation Quick Start中有嵌套页面的示例:

http://framework.zend.com/manual/2.3/en/modules/zend.navigation.quick-start.html#quick-start

在你的情况下,它应该是这样的:

'navigation' => array(
    'default' => array(
        array(
            'label'  => 'corso',
            'route'  => 'corso',
            'action' => 'index',
            'pages' => array(
                array(
                    'label' => 'add action ',
                    'route' => 'corso',
                    'action' => 'add',
                ),
                array(
                    'label' => 'edit action ',
                    'route' => 'corso',
                    'action' => 'edit',
                ),
            ),
        ),
    ),
),