欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

phpcms v9添加熱門(mén)搜索關(guān)鍵詞的方法

  發(fā)布時(shí)間:2011-09-13 19:57:26   作者:佚名   我要評(píng)論
目前正在用phpcms v9,需要顯示熱門(mén)搜索關(guān)鍵詞,Google了幾下沒(méi)找到完善的解決辦法。還是DIY吧。
通過(guò)觀察可以發(fā)現(xiàn)系統(tǒng)是自帶了關(guān)鍵詞模型的,只是沒(méi)有實(shí)現(xiàn)。
或許是放在下一個(gè)版本里,呵呵~ DIY就從 /phpcms/model/keyword_model.class.php入手了。
看一下keyword_model.class.php的內(nèi)容

復(fù)制代碼
代碼如下:

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ù)庫(kù)里沒(méi)有這樣的表名。
那就參照相關(guān)搜索數(shù)據(jù)表 tb_search_keyword(我安裝的時(shí)候用的是tb做表前綴)
新建一個(gè)熱門(mén)搜索關(guān)鍵詞數(shù)據(jù)表 keyword

復(fù)制代碼
代碼如下:

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ù)表就建好了,接下來(lái)就是添加和調(diào)用數(shù)據(jù)了。
打開(kāi)文件 /phpcms/models/search/index.php
找到

復(fù)制代碼
代碼如下:

//如果開(kāi)啟相關(guān)搜索功能
if($setting['relationenble']) {

在它上面加入以下代碼

復(fù)制代碼
代碼如下:

//加入搜索關(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)鍵詞的添加
再來(lái)看看模板調(diào)用的實(shí)現(xiàn),我用的是 get 標(biāo)簽。
首先看搜索結(jié)果頁(yè):/phpcms/templates/default/search/list.html

復(fù)制代碼
代碼如下:

{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語(yǔ)句:SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid ORDER BY searchnums DESC
如果是在首頁(yè)調(diào)用,需要去掉$typeid。BTW:如果要在非搜索結(jié)果頁(yè)都要去掉$typeid

復(fù)制代碼
代碼如下:

{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完成!

相關(guān)文章

最新評(píng)論