我使用以下PHP代码在文章中设置页面标题和描述元标记
$doc =& JFactory::getDocument();
$options = $doc->getHeadData();
$options['metaTags']['standard']['description'] = "test description";
$options['title'] = "my title";
echo '<pre>'; print_r($options); echo '</pre>';
$doc->setHeadData($options);
感谢我的print_r
我可以看到它们已正确设置。然而,在setHeadData
之后,头部数据被Joomla覆盖,这就是我在页面中得到的结果:
[1]在我之后添加了另一个空描述元标记(这是一个问题,因为我不知道搜索引擎是处理第一个还是第二个)。
[2] <title>
标签只会被文章标题值覆盖。
[Q1]我能做些什么来阻止Joomla覆盖我设置的头部数据? (也许在插件或模块中插入我的代码可以让我在joomla添加自己的代码后添加数据?)
答案 0 :(得分:2)
您的代码需要位于流程后期执行的插件中。以下是框架自动触发的所有全局系统事件的文档 -
http://docs.joomla.org/Reference:System_Events_for_Plugin_System
以下是有关API执行顺序的文档 -