v0lume / yii2-meta-tags
基于数据库的模型元数据,用于SEO
v1.2.3
2017-07-12 09:16 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-28 16:57:05 UTC
README
基于数据库的模型元数据,用于SEO
安装
安装此扩展的首选方法是通过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元标签。