phpcms 关键词keyword表加入栏目catid的方法

2019-11-13 浏览:1704
phpcms 关键词keyword表加入栏目catid的方法
评论:(0)复制地址

phpcms 关键词keyword表加入栏目catid的方法


首先在v9_keyword表中加入catid 字段,类型 smallint(10),属性为UNSIGNED


修改phpcms/modules/content/fields/keyword/update.inc.php,注意红色部分为新增


function keyword ($field, $value) {

//获取post过来的关键字,关键字用空格或者‘,’分割的

$data = array();

$data = preg_split("/[ ,]+/", $value);

//加载关键字的数据模型

$keyword_db = pc_base::load_model('keyword_model');

$keyword_data_db = pc_base::load_model('keyword_data_model');

pc_base::load_sys_func('iconv');

if (is_array($data) && !empty($data)) {

$siteid = get_siteid();

$catid = $this->data['catid'];

foreach ($data as $v) {

$v = defined('IN_ADMIN') ? $v : safe_replace(addslashes($v));

$v = str_replace(array('//','#','.'),' ',$v);

if (!$r = $keyword_db->get_one(array('keyword'=>$v, 'siteid'=>$siteid))) {

$letters = gbk_to_pinyin($v);

$letter = strtolower(implode('', $letters));

$tagid = $keyword_db->insert(array('keyword'=>$v, 'siteid'=>$siteid, 'catid'=>$catid, 'pinyin'=>$letter, 'videonum'=>1), true);

} else {

$keyword_db->update(array('videonum'=>'+=1'), array('id'=>$r['id']));

$tagid = $r['id'];

}

$contentid = $this->id.'-'.$this->modelid;

if (!$keyword_data_db->get_one(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid))) {

//文章数据为空,插入数据

$keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'catid'=>$catid, 'contentid'=>$contentid));

} else{

//文章数据不为空,先删除相关文章ID的数据再插入

$keyword_data_db->delete(array('contentid'=>$contentid));

$keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'catid'=>$catid, 'contentid'=>$contentid));

}

unset($contentid, $tagid, $letters);

}

}

return $value;

}


更新全站缓存!!!!!


调用方法


{pc:get sql="SELECT keyword FROM `v9_keyword` WHERE siteid=$siteid AND catid=$catid ORDER BY `videonum` DESC" num="66"}

{loop $data $r}

{php $num++}

<a href="{APP_PATH}index.php?m=content&c=tag&catid={$catid}&a=lists&tag={$r[keyword]}" class="{$num}" title="{$r[keyword]}">{$r[keyword]}</a>

{/loop}

{/pc}


后端相关处理文件为:caches/caches_model/caches_data/content_update.class.php (可以在这个页面查看相关语法)

评论:(0)复制地址
发布:苗景云 | 分类:IT技术&设计 | Tags:phpcms

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。