本修正版通過封裝代碼,可以實現(xiàn)與PHPCMS的無縫銜接,已通過測試,有興趣的朋友,還可以加以借鑒舉一反三,做出自己的程序來(此是后話)。
此前,教你實現(xiàn)首頁顯示全站熱門關鍵字一文得到大家的捧場,并希望phpcms官方能將其與phpcms進行整合,在此先謝了。但從目前的情況看,似乎 2008版并無此打算。
所以,在等待2008中,無聊的我開始了本次封裝代碼的痛苦歷程,目的也是希望借此和大家共同學習如何對PHPCMS進行二次開發(fā):
1、本修正版涉及\include目錄下的tag.func.php文件、\templates\xhtml下的tags.php,\templates \xhtml\phpcms下面的tags_config.php,請做好相應備份;
2、用編程軟件或記事本打開\include目錄下的tag.func.php,大家可以看到,該文件是眾多標簽的函數(shù)封裝,形如以下代碼:
QUOTE:
function we_mytag($tagname)
{ ……}
為方便以后修改,我們就在代碼快結(jié)束的地方,將以下代碼放進去
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);
}
注意,一定要在上一個“}”之后,“?>”之前,否則會出錯。
以上代碼的內(nèi)容,如有不清楚的地方,可以參閱教你實現(xiàn)首頁顯示全站熱門關鍵字一文。
3、大家也許注意到 ”include template('phpcms','hotkw'); “這段代碼,它的作用是調(diào)用”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、進入網(wǎng)站后臺,點擊模版風格,在左邊導航欄中,找到”自定義標簽“、然后”添加自定義標簽“,在依次在自定義標簽名*填寫“熱點關鍵詞”、自定義標簽說明:”填寫:熱點關鍵詞“自定義標簽內(nèi)容* ”中,填寫“we_hotkwords()”,點確定后退出,這個時候,你的“標簽列表”中應該有熱點關鍵詞及{tag_熱點關鍵詞}了,復制 {tag_熱點關鍵詞}到網(wǎng)站首頁模版的任何位置,用CSS代碼控制其樣式。當然,先別忙著更新首頁。還有幾個小問題要修正一下,見第五步:
5、打開\templates\xhtml下的tags.php的文件,你會發(fā)現(xiàn)
QUOTE:
'網(wǎng)站首頁焦點文章' => '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(\'熱點關鍵詞\')',
),
);
?>
至此,整個修改過程結(jié)束,現(xiàn)在,你可以更新你的首頁了,
另:沒有解決的問題有:無法通過后臺,對該標簽進行修改。!
以上步驟在本地通過測試。如有什么疑問,請回復,我盡量給予解答。
同時,懇請斑竹和高手給予指正。