如何在内容呈现后注册MetaTag并替换内容?

时间:2013-02-25 15:45:07

标签: yii meta-tags

我使用带有元标记的布局;

<meta name="description" id="meta_description" content="content here" />
<meta name="keywords" id="meta_keywords" content="job" />

<meta property="og:title" id="meta_og_title" content="og title"/>
<meta property="og:image" id="meta_og_image" content="og image"/>
<meta property="og:site_name" id="meta_og_site_name" content="og site name"/>
<meta property="og:description" id="meta_og_description" content="og description" />

我生成内容;

在该内容中,我注册了一些元标记:

Yii::app()->clientScript->registerMetaTag('Job search', 'description', null, array('id'=>'meta_description'), 'meta_description');
Yii::app()->clientScript->registerMetaTag('Job search', 'keywords', null, array('id'=>'keywords'), 'meta_keywords');

Yii::app()->clientScript->registerMetaTag('mogt', '', null, array('id'=>'meta_og_title', 'property' => 'og:title'), 'meta_og_title');
Yii::app()->clientScript->registerMetaTag('mogi', '', null, array('id'=>'meta_og_image', 'property' => 'og:image'), 'meta_og_image');
Yii::app()->clientScript->registerMetaTag('mogsn', '', null, array('id'=>'meta_og_site_name', 'property' => 'og:site_name'), 'meta_og_site_name');
Yii::app()->clientScript->registerMetaTag('mogd', '', null, array('id'=>'meta_og_description', 'property' => 'og:description'), 'meta_og_description');

为什么yii在插入静态元标记之前注册了元标记?

我想修改静态标签,我不想复制元标签;

我做错了什么?

1 个答案:

答案 0 :(得分:3)

来自文档:

  

注意:此方法的每次调用都会导致新元标记的呈现,即使它们的属性相同。

如果您要覆盖现有代码,请确保已添加第一个registerMetaTag 这样第五个参数$id是相同的