v0lume/yii2-meta-tags

基于数据库的模型元数据,用于SEO

安装量: 4,100

依赖项: 0

建议者: 1

安全: 0

星级: 19

关注者: 3

分支: 7

开放问题: 2

类型:yii2-extension

v1.2.3 2017-07-12 09:16 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:57:05 UTC


README

基于数据库的模型元数据,用于SEO

screenshot

安装

安装此扩展的首选方法是通过composer

运行以下命令之一:

composer.phar require --prefer-dist v0lume/yii2-meta-tags "*"

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

"v0lume/yii2-meta-tags": "*"

to the require section of your composer.json file.

用法

MetaTagBehavior添加到你的模型中,并进行配置。

public function behaviors()
{
    return [
        'MetaTag' => [
            'class' => MetaTagBehavior::className(),
        ],
    ];
}

在你的应用程序中某个位置添加MetaTags,例如在编辑表单中。

echo MetaTags::widget([
    'model' => $model,
    'form' => $form
]);

完成!现在,你可以获取当前模型的元数据

echo $model->getBehavior('MetaTag')->title;
echo $model->getBehavior('MetaTag')->keywords;
echo $model->getBehavior('MetaTag')->description;

或者,手动查找模型

use v0lume\yii2\metaTags\model\MetaTag;

...

$meta_tag = MetaTag::findOne([
    'model_id' => $id,
    'model'  => (new \ReflectionClass($model))->getShortName()
]);

...

echo $meta_tag->title;
echo $meta_tag->keywords;
echo $meta_tag->description;

自动注册元标签

你可以使用MetaTagsComponent来自动注册元标签

main.php配置中配置MetaTagsComponent

...
'components' => [
    ...
    'metaTags' => [
        'class' => 'v0lume\yii2\metaTags\MetaTagsComponent',
        'generateCsrf' => false,
        'generateOg' => true,
    ],
    ...
],
...
    

然后,在你的布局、视图或控制器动作中

$model = \common\models\Page::findOne(['url' => '/']);

Yii::$app->metaTags->register($model);

如果传递的模型附加了MetaTagBehavior,组件将为该模型注册元标签。如果没有附加MetaTagBehavior或未传递模型,且generateCsrf设置为true,组件将仅生成csrf元标签。