本修正版通过封装代码,可以实现与PHPCMS的无缝衔接,已通过测试,有兴趣的朋友,还可以加以借鉴举一反三,做出自己的程序来(此是后话)。

此前,教你实现首页显示全站热门关键字一文得到大家的捧场,并希望phpcms官方能将其与phpcms进行整合,在此先谢了。但从目前的情况看,似乎2008版并无此打算。
所以,在等待2008中,无聊的我开始了本次封装代码的痛苦历程,目的也是希望借此和大家共同学习如何对PHPCMS进行二次开发:
1、本修正版涉及\include目录下的tag.func.php文件、\templates\xhtml下的tags.php,\templates\xhtml\phpcms下面的tags_config.php,请做好相应备份;

2、用编程软件或记事本打开\include目录下的tag.func.php,大家可以看到,该文件是众多标签的函数封装,形如以下代码:

 

QUOTE:


function phpcms_mytag($tagname)
{ ……}

为方便以后修改,我们就在代码快结束的地方,将以下代码放进去


QUOTE:
function phpcms_hotkwords()
{
     global $db;
     $hotkw = array();
     $linkurl = array();
     $result = $db->query("SELECT * FROM phpcms_keywords,phpcms_channel WHERE phpcms_keywords.keyid=phpcms_channel.channelid ORDER BY phpcms_keywords.hits DESC LIMIT 10");
     while($r = $db->fetch_array($result))
     {
       $hotkw = $r['keywords'];
       $linkurl = $r['linkurl'];
       include template('phpcms','hotkw');  
     } 
     $db->free_result($result);
}

注意,一定要在上一个“}”之后,“?>”之前,否则会出错。
以上代码的内容,如有不清楚的地方,可以参阅教你实现首页显示全站热门关键字一文。

3、大家也许注意到 ”include template('phpcms','hotkw');  “这段代码,它的作用是调用”templates\xhtml\phpcms“目录下的hotkw.html文件,问题是,该文件夹下面并无此文件,这需要我们新建这个文件,然后输入以下代码,很简单


QUOTE:
<li><a href="{PHPCMS_PATH}{$linkurl}search.php?searchtype=keywords&keywords={$hotkw}&search=1" target="_blank">{$hotkw}</a></li>

4、进入网站后台,点击模版风格,在左边导航栏中,找到”自定义标签“、然后”添加自定义标签“,在依次在自定义标签名*填写“热点关键词”、自定义标签说明:”填写:热点关键词“自定义标签内容* ”中,填写“phpcms_hotkwords()”,点确定后退出,这个时候,你的“标签列表”中应该有热点关键词及{tag_热点关键词}了,复制{tag_热点关键词}到网站首页模版的任何位置,用CSS代码控制其样式。当然,先别忙着更新首页。还有几个小问题要修正一下,见第五步:

5、打开\templates\xhtml下的tags.php的文件,你会发现

 

QUOTE:


'网站首页焦点文章' => 'article_list(\'tag_article_list-jdwz\',13,0,1,0,0,1,80,200,0,1,0,1,0,1,0,0,1,1,\'\')',
  '热点关键词' => 'phpcms_mytag(\'热点关键词\')',
);
?>
将红色部分修改为

 

QUOTE:


   '热点关键词' => ‘phpcms_hotkwords(\'热点关键词\')',
);
?>
保存。

6、打开\templates\xhtml\phpcms下面的tags_config.php:

 

QUOTE:


array (
    'introduce' => '热点关键词',
    'func' => 'phpcms_mytag',
    'mytagname' => '热点关键词',
    'edittime' => '2008-06-23 01:52:25',
    'editor' => NULL,
    'longtag' => 'phpcms_mytag(\'热点关键词\')',
  ),
);
?>

中的红色部分修改为


QUOTE:
'热点关键词' => 
  array (
    'introduce' => '热点关键词',
    'func' => 'phpcms_hotkwords',
    'keyid' => 'phpcms',
    'edittime' => '2008-06-23 01:52:25',
    'editor' => NULL,
    'longtag' => 'phpcms_hotkwords(\'热点关键词\')',
  ),
);
?>


至此,整个修改过程结束,现在,你可以更新你的首页了, 
另:没有解决的问题有:无法通过后台,对该标签进行修改!!!
以上步骤在本地通过测试。如有什么疑问,请回复,我尽量给予解答。
同时,恳请斑竹和高手给予指正。