如何给phpcms v9增加类似于phpcms 2008中的关键词表_php技巧

最近用phpcms v9二次开发一个人站点,之前用2008中有个比较舒服的关键词全部显示出来功能,而v9将关键词列表功能增加到了搜索中,如果搜索一个关键词就会自动产生一个增加到了search_keyword表中,这一点不是很喜欢v9;站内搜索功能,我觉得一般会用得比较少,而我们在增加文章的时候实际上就把关键词分隔开了,为什么还要多此一举了,其实改起来也比较简单

在model文件夹中增加一个keyword_ext_model.class.php。keyword_model实际是存在model文件夹中的,不知道为什么没有keyword这张表?

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

复制代码 代码如下:

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class keyword_ext_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_ext';
        parent::__construct();
    }
}
?>

然后创建一张表

复制代码 代码如下:

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的时候直接调上这个表就行了。请得先清除全站缓存,否则修改后看不到效果。

时间: 2024-09-18 20:08:06

如何给phpcms v9增加类似于phpcms 2008中的关键词表_php技巧的相关文章

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

在model文件夹中增加一个keyword_ext_model.class.php.keyword_model实际是存在model文件夹中的,不知道为什么没有keyword这张表? 所以还是不要在这个基本上增加,也许将来这个model会用上,    代码如下 复制代码 <?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model', '', 0); class keyw

Windows Server 2008中IIS设置FTP的技巧

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   如果要允许用户在站点中上载或下载文件,就需要在 Web 服务器上设置 FTP.无论站点是位于 Intranet 还是位于 Internet 上,使用 FTP 在所提供的位置中上载和下载文件的原理是相同的.您需要将文件放在 FTP 服务器上的目录中,以便用户可以建立 FTP 连接并通过 FTP 客户端或启用 FTP 的 Web 浏览器进行文件传输.本文介绍在 We

php投票系统之增加与删除投票(管理员篇)_php技巧

关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用php实现投票系统,与其他普通系统一样,分为两部分,一个是管理员部分,一个是普通用户部分. 关于投票系统的管理部分,非常之简单,提供两部分的功能,增加投票与删除投票 关键在于设计好数据库的表,拟定于这样存一个投票,voteparent表存这个投票的标题.描述是否被删除,votechildren表存这个投票的子选项与投票数 一.基本目标 首先投票系统是这样的: 三个链接,点进去能够直接进行相关功能的操作,本文主写管理员部分,普通

phpcms v9整合百度ueditor方法详解

关于百度富文本在线编辑器ueditor的强大功能,在这里并不想多说,如果还不了解的,自己百度一下吧.接下来我要做的就是把phpcms v9原有的编辑器ckeditor换成ueditor. phpcms v9版本:phpcms v9.4.2utf8 ueditor:版本:ueditor1.2.6.1utf8-php 这里要说一下了,网上很多关于phpcms v9整合ueditor的评议文章,忽略了版本问题,导致了一些问题,如乱码,甚至无法整合,所以这里特别强调,整合前要注意版本的一致性. 1.从百

PHPCMS V9 添加二级导航的思路详解_php实例

今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同. 开始的思路: <ul class="nav navbar-nav"> <li class="active"><a href="{siteurl($siteid)}">首页</a></li> {pc:content action=

PHPCMS V9信息模型即将面世 黄页模块6月发布

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 PHPCMS V9(简称V9)采用PHP5+MYSQL做为技术基础进行开发.V9采用OOP(面向对象)方式进行基础运行框架搭建.模块化开发方式做为功能开发形式.框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求. 5年开发经验的优秀团队,在掌握了丰富的WEB开发经验和CMS产品开发经验的同时,勇于创新追求完美的设计理念,

phpcms v9 生成静态页

phpcms生成的静态页目录规则是按照URL规则生成的, 静态页 内容是ob_clean前台模板文件产生的phpcms\templates\default,静态页的调试 :修改静态页,重新生成静态页再看效果,也可以调用前台控制/index.php?m=openservice&c=index&a=openservice修改好前台模板再生成.只要是静态页的链接都要及时同步文件,防止死链接,数据错误 Java代码   1.   $urlrule = $site_info['domain'].'/

phpcms v9 内容页日期时间标签{$inputtime}显示格式

{$inputtime}显示格式 phpcms v9内容页模板的时间标签默认为{$inputtime},我们看到更新内容页以后默认时间格式为2013-04-24 00:38:12,显然这样的时间格式不一定是我们想要的.大多数网站的内容页面不需要时间精确到秒.如果我们不想显示秒单位,那么如何实现呢? 在网上有网友推荐字符串截取,湛蓝仔细看了下模型中的字段设置,其实时间字段是可以设定前台模板中显示格式的,字符串截取就显得多此一举了. 后台-内容-模型管理-文章模型-字段管理-发布时间-修改-相关参数

v9群发邮件-phpcms v9如何给会员群发邮件

问题描述 phpcms v9如何给会员群发邮件 phpcms v9怎么给注册会员群发邮件啊啊,要用phpmailer插件吗?这个具体怎么弄啊,纠结啊,求高手解答啊! 解决方案 phpcms v9 邮件群发实现方法 http://www.bcty365.com/content-101-993-1.html