lcharette/uf_breadcrumb

UserFrosting V4 的面包屑服务提供商

资助包维护!
Ko Fi

安装量: 1,460

依赖项: 1

建议者: 0

安全性: 0

星标: 2

关注者: 1

分支: 0

开放性问题: 0

类型:userfrosting-sprinkle

3.0.0 2020-04-21 01:34 UTC

This package is auto-updated.

Last update: 2024-08-27 05:34:06 UTC


README

Donate Latest Version UserFrosting Version Software License Build Codecov StyleCI

本Sprinkle提供辅助服务和Twig模板,用于管理UserFrosting 4的简单页面面包屑。

帮助和贡献

如果您需要使用此Sprinkle的帮助或发现任何错误,请随时提交问题或拉取请求。您也可以在大多数时间在UserFrosting Chat上找到我以获得直接支持。

安装

编辑UserFrosting app/sprinkles.json 文件,并将以下内容添加到require列表中: "lcharette/uf_breadcrumb": "^3.0.0"。同时将Breadcrumb添加到base列表中。例如

{
    "require": {
        "lcharette/uf_breadcrumb": "^3.0.0"
    },
    "base": [
        "core",
        "account",
        "admin",
        "Breadcrumb"
    ]
}

运行 composer update 然后 php bakery bake 以安装Sprinkle。

使用方法

添加面包屑

面包屑层次结构需要在每个控制器中手动定义。为了动态地将面包屑添加到UI中,只需使用breadcrumb服务的add方法。

// add($name, $uri = "")
$this->ci->breadcrumb->add('Item name', 'path/');

您也可以链式调用多个方法。

$this->ci->breadcrumb->add("Projects", "projects/")
                     ->add("Project Foo", "projects/foo")
                     ->add("Settings");

您也可以使用Crumb对象创建面包屑。

$crumb = new Crumb();
$crumb->setTitle('Item name')->setUri('path/');
$this->ci->breadcrumb->addCrumb($crumb);

项目名称也可以切换为翻译键。

$this->ci->breadcrumb->add(['TRANSLATION_KEY', ['placeholder' => 'Value']], 'path/');

// or

$crumb = new Crumb();
$crumb->setTitle('TRANSLATION_KEY', ['placeholder' => 'Value'])->setUri('path/');

路径实际上是可选的,如果您不想为面包屑提供链接。或者,也可以使用路由名称/路由模式占位符。

$this->ci->breadcrumb->add('Item name', ['route_name', ['id' => '123']]);

// or

$crumb = new Crumb();
$crumb->setTitle('Item name')->setRoute('route_name', ['id' => '123']);

预置面包屑

您还可以使用prepend方法将新项目添加到列表的开头。

//prepend($name, $uri = "")
$this->ci->breadcrumb->prepend("Item name", "path/");

// or

$this->ci->breadcrumb->prependCrumb($crumb);

请注意,无论是否使用prepend,网站索引都会自动添加到列表的开头。

如果您没有添加任何自定义面包屑,它将回退到默认的UserFrosting行为。

自定义样式

默认的UserFrosting布局和主题将自动获取面包屑。如果您的UserFrosting主题没有自动包含面包屑,只需将此行添加到您的twig文件中。

{% include 'navigation/breadcrumb.html.twig' with {page_title: block('page_title')} %}

如果您想编辑面包屑的样式,只需将templates/navigation/breadcrumb.html.twig文件复制到您自己的Sprinkle中,并根据您的样式进行编辑。本Sprinkle不包含任何自定义资源。

许可

Louis Charette提供。版权(c)2020,根据MIT许可,可免费用于个人和商业软件。