benoitmariaux/bcm-breadcrumbbundle

提供创建面包屑的工具

dev-master 2014-03-20 07:54 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:30:20 UTC


README

BCMBreadcrumbBundle 允许您为 Symfony 项目轻松生成面包屑。

安装

使用 composer,添加

{
    require: {
        "benoitmariaux/bcm-breadcrumbbundle": "dev-master"
    }
}

然后在您的内核中启用它

// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        ...
        new BCM\BreadcrumbBundle\BCMBreadcrumbBundle(),
        ...

用法

第一步:路由

您必须在要添加到面包屑的路由中的 defaults 配置两个属性(labelparent

homepage:
    pattern: /
    defaults:
        _controller: AcmeDemoBundle:Default:home
        label: homepage # no parent for homepage

articles:
    pattern: /articles
    defaults:
        _controller: AcmeDemoBundle:Article:list
        label: ARTICLES
        parent: homepage

article:
    pattern: /articles/show/{article_id}
    defaults:
        _controller: AcmeDemoBundle:Article:article
        label: '{article_title}'
        parent: articles

第二步:控制器

注入您当前面包屑路由和标签所需的所有参数

$breadcrumb = $this->get('bcm_breadcrumb.manager')->render(array(
    'article_title' => $article->getTitle(), // useful for article route label
    'article_id' => $article->getId() // useful for article route pattern
));

return $this->render('AcmeDemoBundle:Default:article.html.twig', array(
    'article' => $article,
    'breadcrumb' => $breadcrumb
));

最后一步:视图

{{ breadcrumb|raw }}

您的视图

默认视图为:vendor/benoitmariaux/bcm-breadcrumbbundle/BCM/BreadcrumbBundle/Resources/views/bcm-breadcrumb.html.twig

您可以通过创建自己的在这里覆盖它:app/Resources/BCMBreadcrumbBundle/views/bcm-breadcrumb.html.twig

标签翻译

您可以使用默认域 breadcrumb 为您的标签定义翻译

  • breadcrumb.fr.xliff
  • breadcrumb.de.xliff