给phpcms v9增加类似于phpcms 2008中的关键词表
生活随笔
收集整理的這篇文章主要介紹了
给phpcms v9增加类似于phpcms 2008中的关键词表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近用phpcms v9二次開發一個人站點,之前用2008中有個比較舒服的關鍵詞全部顯示出來功能,而v9將關鍵詞列表功能增加到了搜索中,如果搜索一個關鍵詞就會自動產生一個增加到了search_keyword表中,這一點不是很喜歡v9;站內搜索功能,我覺得一般會用得比較少,而我們在增加文章的時候實際上就把關鍵詞分隔開了,為什么還要多此一舉了,其實改起來也比較簡單
在model文件夾中增加一個keyword_ext_model.class.php。keyword_model實際是存在model文件夾中的,不知道為什么沒有keyword這張表?
所以還是不要在這個基本上增加,也許將來這個model會用上,
然后創建一張表
CREATE TABLE `t_v9_keyword_ext` (`tagid` smallint(5) unsigned NOT NULL AUTO_INCREMENT,`tag` char(50) NOT NULL,`style` char(5) NOT NULL,`usetimes` smallint(5) unsigned NOT NULL DEFAULT '0',`lastusetime` int(10) unsigned NOT NULL DEFAULT '0',`hits` mediumint(8) unsigned NOT NULL DEFAULT '0',`lasthittime` int(10) unsigned NOT NULL DEFAULT '0',`listorder` tinyint(3) unsigned NOT NULL DEFAULT '0',`modelid` smallint(6) DEFAULT '0',PRIMARY KEY (`tagid`),UNIQUE KEY `tag` (`tag`),KEY `usetimes` (`usetimes`,`listorder`),KEY `hits` (`hits`,`listorder`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;最后一步在phpcms/modules/content/fields/keyword?中增加一個 input.inc.php
function tags($field, $value){if(!$value) return '';if(strpos($value, ',')){$s = ',';}else{$s = ',';}$keywords = isset($s) ? array_unique(array_filter(explode($s, $value))) : array($value);$keyword_db = pc_base::load_model('keyword_ext_model');foreach($keywords as $tag){$tag = trim($tag);$keyword_db->delete(array("tag"=>$tag,"modelid"=>$this->modelid));$c=$this->db->count("keywords like '%".$tag."%'");$keyword_db->insert(array("modelid"=>$this->modelid,"tag"=>$tag,"usetimes"=>$c,"lastusetime"=>SYS_TIME),false,true);}return implode($s, $keywords); }這樣在文章增加關鍵詞的時候,會自動增加到keyword_ext中一份,調用全站tags的時候直接調上這個表就行了。
請得先清除全站緩存,否則修改后看不到效果。本博客文章屬于原創,轉載請說明出處。
轉載于:https://www.cnblogs.com/hubj/archive/2012/10/25/2740327.html
總結
以上是生活随笔為你收集整理的给phpcms v9增加类似于phpcms 2008中的关键词表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Spring cloud 一步步实现广
- 下一篇: 团队开发方式