本修正版通过封装代码,可以实现与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 we_mytag($tagname)
{ ……}
为方便以后修改,我们就在代码快结束的地方,将以下代码放进去
QUOTE:
function we_hotkwords()
{
global $db;
$hotkw = array();
$linkurl = array();
$result = $db->query("SELECT * FROM we_keywords,we_channel WHERE we_keywords.keyid=we_channel.channelid ORDER BY we_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、进入网站后台,点击模版风格,在左边导航栏中,找到”自定义标签“、然后”添加自定义标签“,在依次在自定义标签名*填写“热点关键词”、自定义标签说明:”填写:热点关键词“自定义标签内容* ”中,填写“we_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,\'\')',
'热点关键词' => 'we_mytag(\'热点关键词\')',
);
?>
将红色部分修改为
QUOTE:
'热点关键词' => ‘we_hotkwords(\'热点关键词\')',
);
?>
保存。
6、打开\templates\xhtml\phpcms下面的tags_config.php:
将
QUOTE:
array (
'introduce' => '热点关键词',
'func' => 'we_mytag',
'mytagname' => '热点关键词',
'edittime' => '2008-06-23 01:52:25',
'editor' => NULL,
'longtag' => 'we_mytag(\'热点关键词\')',
),
);
?>
中的红色部分修改为
QUOTE:
'热点关键词' =>
array (
'introduce' => '热点关键词',
'func' => 'we_hotkwords',
'keyid' => 'phpcms',
'edittime' => '2008-06-23 01:52:25',
'editor' => NULL,
'longtag' => 'we_hotkwords(\'热点关键词\')',
),
);
?>
至此,整个修改过程结束,现在,你可以更新你的首页了,
另:没有解决的问题有:无法通过后台,对该标签进行修改!!!
以上步骤在本地通过测试。如有什么疑问,请回复,我尽量给予解答。
同时,恳请斑竹和高手给予指正。