jinnguyen/puja-breadcrumb

Puja-Breadcrumb 是一个用于管理面包屑的简单类

v1.0.0 2017-01-08 12:47 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:44:16 UTC


README

Puja-Breadcrumb 是一个用于管理面包屑的简单类

安装

只需在命令行运行此命令

composer require jinnguyen/puja-breadcrumb

用法

include '/path/to/vendor/autoload.php';
use Puja\Breadcrumb\Breadcrumb;

示例

简单

$breadcrumb = new Breadcrumb;
$breadcrumb->add('Subpage 2', '/subpage2');
echo $breadcrumb->render();

使用数组创建新的面包屑

$breadcrumb = new Breadcrumb(array(
    array('title' => 'Home', 'link' => '/'),
    array('title' => 'Page', 'link' => '/page'),
    array('title' => 'Subpage', 'link' => '/subpage/?a=5&b[]=7&b[]=8'),
));
$breadcrumb->add('Subpage 2', '/subpage2');
echo $breadcrumb->render();

剩下的文档将假设你有一个 $breadcrumb 实例,你正在对其进行调用。

添加面包屑

$breadcrumb->add('Home', '/');

删除所有面包屑

$breadcrumb->deleteAll();

删除最后一个面包屑

$breadcrumb->deleteLastItem();

计算面包屑元素数量

$breadcrumb->count();

检查是否为空

$breadcrumb->isEmpty(); // same with $breadcrumb->count() == 0

获取数据

$breadcrumb->getData(); // get all breadcrumb nodes

第一个和最后一个 CSS 类

    
  • Home
  • // First Breadcrumb element
  • Page
  • Subpage
  • Subpage 2
  • // Last Breadcrumb Element

第一个/最后一个 CSS 类是第一个/最后一个面包屑元素的类

$breadcrumb->setFirstCssClassName($className);
$breadcrumb->setLastCssClassName($className);

元素

默认面包屑元素是 <li class="{FirstLastCss}">%s{Divider}</li>。要更改它,可以使用如下所示的 setElement 方法

$breadcrumb->setElement('<span class="{FirstLastCss}">%s{Divider}</span>');

注意

"%s" is required for Breadcrumb::$element
{FirstLastCss}: will be replaced by Breadcrumb::$firstCssClassName for first element and Breadcrumb::$lastCssClassName for last element
{Divider}: will be replaced by Breadcrumb::$divider

列表元素

默认列表元素用于包裹面包屑,是 <ul>%s</ul>。要更改它,可以使用如下所示的 setListElement 方法

$breadcrumbs->setListElement('<ol class="ol-breadcrumb">%s</ol>');

注意

"%s" is required for Breadcrumb::$listElement

分隔符

默认面包屑分隔符是 `` (空)。这将在 Breadcrumb::$element 属性的 {Divider} 占位符中替换。如果你想要将其更改为,例如,/,你可以这样做

$breadcrumb->setDivider('/');

输出

最后,当你确实想要显示你的面包屑时,你所需要做的就是在这个实例上调用 render() 方法

echo $breadcrumb->render();

请注意,默认情况下,面包屑标题会渲染 HTML 字符,如果你想要忽略它,可以这样做

$breadcrumb->setSafeHtml(false);