matthew-p/yii2-breadcrumbs-microdata

为面包屑添加微数据。

1.1 2024-05-02 19:12 UTC

This package is auto-updated.

Last update: 2024-09-02 20:06:11 UTC


README

为面包屑添加微数据。

安装

安装此扩展的首选方式是通过 Composer

运行以下命令之一:

php composer.phar require --prefer-dist matthew-p/yii2-breadcrumbs-microdata "*"

或者在您的 composer.json 文件的 require 部分添加以下内容:

"matthew-p/yii2-breadcrumbs-microdata": "*"

使用方法

安装扩展后,只需在您的代码中使用它即可:

在项目中查找

Breadcrumbs::widget([ ... ])

并更改

use mp\bmicrodata\BreadcrumbsMicrodata; // in top

BreadcrumbsMicrodata::widget([
    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], // For PHP7 'links' => $this->params['breadcrumbs'] ?? [] 
]);

替代版本

Breadcrumbs::widget([     
    'homeLink' => BreadcrumbsUtility::getHome('Home', Yii::$app->getHomeUrl()), // Link home page with microdata
    'links' => isset($this->params['breadcrumbs']) ? BreadcrumbsUtility::UseMicroData($this->params['breadcrumbs']) : [], // Get other links with microdata    
    'options' => [ // Set microdata for container BreadcrumbList         
        'class' => 'breadcrumb',         
        'itemscope itemtype' => 'http://schema.org/BreadcrumbList'     
    ], 
]);

用于视图页面

// after set $this->title
$this->params['breadcrumbs'][] = [
    'label' => 'Articles',
    'url' => Url::toRoute('press-center/articles'),
];
$this->params['breadcrumbs'][] = [
    'label' => $this->title,
    // if there is no url element, then this is the current page.
];

HTML 结果

<ul itemscope="" itemtype="http://schema.org/BreadcrumbList">
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
        <a href="/" itemprop="item">
            <span itemprop="name">Home page</span>
        </a>
        <meta itemprop="position" content="1">
    </li>
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
        <a href="/press-center/articles" itemprop="item">
            <span itemprop="name">Articles</span>
        </a>
        <meta itemprop="position" content="2">
    </li>
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem" class="text-light" style="opacity: 0.65;">
        <span itemprop="name">10 Must-Read Books for Programmers</span>
        <meta itemprop="position" content="3">
    </li>
</ul>

就这些了。检查一下。