OpenGraph和Twitter Cards是两个元数据集,可用于描述网页并使它们分别对于Facebook和Twitter更易理解。
有很多元标记可添加到一个简单的网页,所以让我们使用TaggedView
该组件将覆盖yii\web\View为其添加更多属性的功能,从而可以在每个视图上设置值。通常我们用
$this->title = $model->title;
现在,使用TaggedView,我们可以设置:
$this->title = $model->title;
$this->description = $model->abstract;
$this->image = $model->image;
$this->keywords = [‘foo’, ‘bar’];
这将为该页面生成正确的OpenGraph,Twitter Card和HTML meta description标签。
另外,我们可以为组件配置中的每个标签定义默认值,该默认值可用于每个页面,并且如在先前示例中进行重新定义时将被覆盖。
‘components’ => [
//…
‘view’ => [
‘class’ => ‘daxslab\taggedview\View’,
‘site_name’ => ”,
‘author’ => ”,
‘locale’ => ”,
‘generator’ => ”,
‘updated_time’ => ”,
],
//…
]
一些这方面的属性分配了默认值,好像site_name是得到Yii::$app->name默认。
在网站上使用的结果: