[Hack]将artile模组中的文章的关键词加入到HTML的Meta头中

HTML页面的keywords Meta是非常重要的一个Meta,它提供给搜索引擎以指引,告诉当前页面的主要内容,虽然目前很多搜索引擎均不在把把keywords作为唯一标示,但其重要性还是显著的。XOOPS中可以在后台设置Meta Keywords,通过Smarty变量xoops_meta_keywords写入HTML页面,但这种方式导致所有页面的这个Meta头都一样,影响了keywords Meta的效果,修改article模组的view.article.php文件和主题模板文件即可达到即兼顾系统设置和页面个性化keywords Meta的目的,我们将发布文章的录入的tag显示在HTML Meta头中。

首先修改htdocs\modules\article\view.article.php文件289行附近,

将原来的

if(@include_once XOOPS_ROOT_PATH.”/modules/tag/include/tagbar.php”){

$xoopsTpl->assign('tagbar', tagBar($article_obj->getVar("art_keywords", "n")));

}
修改成:
$extra_meta_keywords = $article_obj->getVar(“art_keywords”, “n”);//Modifyed By XuYong 添加tag到html的meta标签

if(@include_once XOOPS_ROOT_PATH.”/modules/tag/include/tagbar.php”){

$xoopsTpl->assign('tagbar', tagBar($article_obj->getVar("art_keywords", "n")));

if(!empty($extra_meta_keywords))$extra_meta_keywords = str_replace(tag_get_delimiter(), ",", $extra_meta_keywords);//Modifyed By XuYong 添加tag到html的meta标签

}

$xoopsTpl -> assign(“extra_meta_keywords”,$extra_meta_keywords);//Modifyed By XuYong 添加tag到html的meta标签
即通过增加extra_meta_keywords Smarty变量达到个性化keywords Meta 的目的。

再修改站点所用到的主题模板文件theme.html,将原来的

<meta name=”keywords” content=”<{$xoops_meta_keywords}>” />
修改成
<meta name=”keywords” content=”<{$extra_meta_keywords}>,<{$xoops_meta_keywords}>” />