承接 aelora/laravel-breadcrumbs 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aelora/laravel-breadcrumbs

最新稳定版本:0.1.0

Composer 安装命令:

composer require aelora/laravel-breadcrumbs

包简介

Quick and easy breadcrumbs for Laravel

README 文档

README

Latest Version on Packagist Total Downloads

Quickly build breadcrumb trails for your pages in Laravel and automatically output the HTML and JSON-LD schema metadata.

Installation

You can install the package via composer:

composer require aelora/laravel-breadcrumbs

You can publish the config file with:

php artisan vendor:publish --tag="breadcrumbs-config"

This is the contents of the published config file:

return [
    'home' => [

        // Should the home link be automatically included in the breadcrumbs? You can also manually include
        // or exclude the home link when you build the breadcrumb class.
        'include' => true,

        'text' => 'Home',

        'url' => url('/'),

        'image' => '',
    ],

    // Which blade template to use. Currently only tailwind is supported. 
    'theme' => 'tailwind',

    // View to use to generate the HTML breadcrumbs. If defined, this will
    // override the theme above.
    'view' => '',

    // Character to use as a separator between crumbs. Use and encoded entity
    // if you want something like > 
    'separator' => '/',
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="breadcrumbs-views"

Currently the only two views are jsonld.blade.php which is used for the Schema metadata and breadcrumbs-tailwind.blade.css.

Usage

// In your controller
use Aelora\Breadcrumbs\Breadcrumbs;
$breadcrumbs = Breadcrumbs::create()
    ->add('Page #1', url('/page-1'))
    ->add('Page #2', url('/page-2'))
    ->add('Current Page');

return view('some.view.file', ['breadcrumbs' => $breadcrumbs]);
// In your view where ever your want the breadcrumbs
{!! $breadcrumbs !!}

You can also call $breadcrumbs->generate() for the same effect. Breadcrumbs implements Stringable and has a __toString() method, so you don't need to. The __toString() calls generate().

Note that we're using {!! and !!} instead of {{ and }}. We don't want the contents of the breadcrumbs to be escaped.

Home Page

You don't need to explicitly add your home page to the breadcrumbs. With the default config, it will be added automatically as the first element before output. If you don't want to include the home page link you can set home.include to false in the config file or call setHome(false) when you're creating the breadcrumbs.

Methods

public function add(string $title, string $url = '', string $image = '')

Adds a new breadcrumb link on the end of the current stack.

The only required parameter is $title. Breadcrumbs will only be links if $url is not empty. If it is, $title will display unlinked. $image is a link to an image for the breadcrumb. It's currently only used in the schema metadata and not in the visible HTML output, although it could be if you build your own view.

public function count()

Returns the number of breadcrumb items, not counting the home link.

public static function create()

Returns a new instance so you can build on one line without having to call new Breadcrumbs().

public function generate($echo = false)

Returns the generated breadcrumbs, both the visible HTML and schema metadata. If $echo is true then the breadcrumbs will also be echoed prior to return.

public function reset()

Clears the breadcrumb trail.

public function reverse()

Reverses the internal breadcrumb trail. Sometimes it's easier to build the trail backwards and then flip it at the end.

public function setHome($title, string $url = '', string $image = '')

Allows you to change the home link for individual pages without having to change the config file. Parameters are the same as the add method.

If $title is false then the home link will not be included. Otherwise it should be a string.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 17
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-07-10