phpcms v9添加熱門搜索關(guān)鍵詞的方法
通過觀察可以發(fā)現(xiàn)系統(tǒng)是自帶了關(guān)鍵詞模型的,只是沒有實(shí)現(xiàn)。
或許是放在下一個(gè)版本里,呵呵~ DIY就從 /phpcms/model/keyword_model.class.php入手了。
看一下keyword_model.class.php的內(nèi)容
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class keyword_model extends model {
public $table_name = '';
public function __construct() {
$this->db_config = pc_base::load_config('database');
$this->db_setting = 'default';
$this->table_name = 'keyword';
parent::__construct();
}
}
從代碼可以看出關(guān)鍵詞表名叫 keyword 可是我們查看數(shù)據(jù)庫里沒有這樣的表名。
那就參照相關(guān)搜索數(shù)據(jù)表 tb_search_keyword(我安裝的時(shí)候用的是tb做表前綴)
新建一個(gè)熱門搜索關(guān)鍵詞數(shù)據(jù)表 keyword
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `tb_keyword`
-- ----------------------------
DROP TABLE IF EXISTS `tb_keyword`;
CREATE TABLE `tb_keyword` (
`keyword` char(20) NOT NULL,
`typeid` tinyint(4) NOT NULL default '0',
`searchnums` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`keyword`),
UNIQUE KEY `keyword` (`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
這樣數(shù)據(jù)表就建好了,接下來就是添加和調(diào)用數(shù)據(jù)了。
打開文件 /phpcms/models/search/index.php
找到
//如果開啟相關(guān)搜索功能
if($setting['relationenble']) {
在它上面加入以下代碼
//加入搜索關(guān)鍵詞記錄 imbin 2011/9/13
if(!empty($result)){
$this->keyword_log_db = pc_base::load_model('keyword_model');
$res = $this->keyword_log_db->get_one(array('keyword'=>$q,'typeid'=>$typeid));
if($res) {
//關(guān)鍵詞搜索數(shù)+1
$this->keyword_log_db->update(array('searchnums'=>'+=1'), array('keyword'=>$q));
} else {
$this->keyword_log_db->insert(array('keyword'=>$q,'typeid'=>$typeid, 'searchnums'=>1));
}
}
這樣就實(shí)現(xiàn)了搜索關(guān)鍵詞的添加
再來看看模板調(diào)用的實(shí)現(xiàn),我用的是 get 標(biāo)簽。
首先看搜索結(jié)果頁:/phpcms/templates/default/search/list.html
{pc:get sql="SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid AND searchnums > 5 ORDER BY rand()" num="5" return="keywords"}
{loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}</a>{/loop}
{/pc}
這里的排序我用了隨機(jī),因?yàn)槲也幌朊看味汲霈F(xiàn)一樣的,呵呵。
附上按搜索次數(shù)排序的Sql語句:SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid ORDER BY searchnums DESC
如果是在首頁調(diào)用,需要去掉$typeid。BTW:如果要在非搜索結(jié)果頁都要去掉$typeid
{pc:get sql="SELECT keyword,typeid FROM tb_keyword ORDER BY searchnums DESC" num="8" return="keywords"}
{loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}</a>{/loop}
{/pc}
OK了,DIY完成!
上一篇:phpcms在nginx的rewrite偽靜態(tài)標(biāo)準(zhǔn)寫法
欄 目:phpcms
下一篇:Phpcms采集時(shí)出現(xiàn)編碼轉(zhuǎn)化錯(cuò)誤的解決方法
本文標(biāo)題:phpcms v9添加熱門搜索關(guān)鍵詞的方法
本文地址:http://mengdiqiu.com.cn/a1/phpcms/9911.html
您可能感興趣的文章
- 01-10phpcms常見問題解答
- 01-10phpcms語法規(guī)則
- 01-10PHPCMS網(wǎng)站轉(zhuǎn)移空間教程
- 01-10PHPCMS2008 SP4 心情排行指數(shù)不顯示的解決辦法
- 01-10phpcms頻道首頁調(diào)用所有一級(jí)欄目及二級(jí)欄目
- 01-10phpcms標(biāo)簽?zāi)0寮皩n}模板的制作
- 01-10PHPCMS系統(tǒng)自帶標(biāo)簽說明
- 01-10為PHPCMS 2008 編輯器增加常用中文字體方法
- 01-10PHPcms 2008 注冊(cè)選擇模型關(guān)閉后,注冊(cè)不能自動(dòng)登錄的問題
- 01-10phpcms模仿QQ和MSN消息提示的效果


閱讀排行
本欄相關(guān)
- 01-10phpcms常見問題解答
- 01-10phpcms語法規(guī)則
- 01-10PHPCMS2008 SP4 心情排行指數(shù)不顯示的解
- 01-10PHPCMS網(wǎng)站轉(zhuǎn)移空間教程
- 01-10PHPCMS系統(tǒng)自帶標(biāo)簽說明
- 01-10phpcms標(biāo)簽?zāi)0寮皩n}模板的制作
- 01-10phpcms頻道首頁調(diào)用所有一級(jí)欄目及二
- 01-10PHPcms 2008 注冊(cè)選擇模型關(guān)閉后,注冊(cè)
- 01-10為PHPCMS 2008 編輯器增加常用中文字體
- 01-10phpcms模仿QQ和MSN消息提示的效果
隨機(jī)閱讀
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10delphi制作wav文件的方法
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置