首页 > CMS > PhpCMS > 正文

phpcms v9增加类似于phpcms 2008中的关键词表

2024-09-10 07:16:18
字体:
来源:转载
供稿:网友

phpcms v9增加类似于phpcms 2008中的关键词表,有需要学习的机友可参考一下,在model文件夹中增加一个keyword_ext_model.class.php,keyword_model实际是存在model文件夹中的,不知道为什么没有keyword这张表?

所以还是不要在这个基本上增加,也许将来这个model会用上,代码如下:

  1. <?php 
  2. defined('IN_PHPCMS'or exit('No permission resources.'); 
  3. pc_base::load_sys_class('model''', 0); 
  4. class keyword_ext_model extends model { 
  5.     public $table_name = ''
  6.     public function __construct() { 
  7.         $this->db_config = pc_base::load_config('database'); 
  8.         $this->db_setting = 'default'
  9.         $this->table_name = 'keyword_ext'
  10.         parent::__construct(); 
  11.     } //Vevb.com 
  12. ?> 

然后创建一张表,代码如下:

  1. CREATE TABLE `t_v9_keyword_ext` ( 
  2.   `tagid` smallint(5) unsigned NOT NULL AUTO_INCREMENT, 
  3.   `tag` char(50) NOT NULL
  4.   `style` char(5) NOT NULL
  5.   `usetimes` smallint(5) unsigned NOT NULL DEFAULT '0'
  6.   `lastusetime` int(10) unsigned NOT NULL DEFAULT '0'
  7.   `hits` mediumint(8) unsigned NOT NULL DEFAULT '0'
  8.   `lasthittime` int(10) unsigned NOT NULL DEFAULT '0'
  9.   `listorder` tinyint(3) unsigned NOT NULL DEFAULT '0'
  10.   `modelid` smallint(6) DEFAULT '0'
  11.   PRIMARY KEY (`tagid`), 
  12.   UNIQUE KEY `tag` (`tag`), 
  13.   KEY `usetimes` (`usetimes`,`listorder`), 
  14.   KEY `hits` (`hits`,`listorder`) 
  15. ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 

最后一步在phpcms/modules/content/fields/keyword 中增加一个 input.inc.php,代码如下:

  1. function tags($field$value
  2.     { 
  3.         if(!$valuereturn ''
  4.         if(strpos($value',')) 
  5.         { 
  6.             $s = ','
  7.         } 
  8.         else 
  9.         { 
  10.             $s = ','
  11.         } 
  12.      
  13.         $keywords = isset($s) ? array_unique(array_filter(explode($s$value))) : array($value); 
  14.         $keyword_db = pc_base::load_model('keyword_ext_model'); 
  15.          
  16.         foreach($keywords as $tag
  17.         { 
  18.             $tag = trim($tag); 
  19.             $keyword_db->delete(array("tag"=>$tag,"modelid"=>$this->modelid)); 
  20.             $c=$this->db->count("keywords like '%".$tag."%'"); 
  21.             $keyword_db->insert(array("modelid"=>$this->modelid,"tag"=>$tag,"usetimes"=>$c,"lastusetime"=>SYS_TIME),false,true); 
  22.         } 
  23.              
  24.         return implode($s$keywords); 

这样在文章增加关键词的时候,会自动增加到keyword_ext中一份,调用全站tags的时候直接调上这个表就行了.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表