默认的phpcms 的tag是无法筛选catid的,那么怎么才能实现呢?
首选我们需要将catid写入数据表中,方法参照 《phpcms 关键词keyword表加入栏目catid的方法》
然后修改phpcms/,odules/content/tag.php 找到public function lists()进行修改,注意红色部分
public function lists() {
//传入siteid参数 --wjb
if(isset($_GET['siteid'])) {
$siteid = intval($_GET['siteid']);
} else {
$siteid = 1;
}
$tag = safe_replace(addslashes($_GET['tag']));
$keyword_data_db = pc_base::load_model('keyword_data_model');
//获取标签id
$r = $this->keyword_db->get_one(array('keyword'=>$tag, 'siteid'=>$this->siteid), 'id');
if (!$r['id']) showmessage('不存在此关键字!');
//$tagid = intval($r['id']);
$tagid = intval($_GET['id']);
$catid = intval($_GET['catid']);//获取catid
if (!$tagid) { //tagid为空读取数据库
$h = $this->keyword_db->get_one(array('keyword'=>$tag, 'siteid'=>$siteid, 'catid'=>$catid));
$tagid = $h['id'];
}
$page = max($_GET['page'], 1);
$pagesize = 20;
$where = '`tagid`=\''.$tagid.'\' AND `siteid`='.$this->siteid;
$infos = $keyword_data_db->listinfo($where, '`id` DESC', $page, $pagesize);
$pages = $keyword_data_db->pages;
$total = $keyword_data_db->number;
if (is_array($infos)) {
$datas = array();
foreach ($infos as $info) {
list($contentid, $modelid) = explode('-', $info['contentid']);
$this->db->set_model($modelid);
$res = $this->db->get_one(array('id'=>$contentid), 'title, thumb, description, url, inputtime, style'); //加入缩略图调用
//$res['title'] = str_replace($tag, '<font color="#f00">'.$tag.'</font>', $res['title']);
$res['title'] = str_replace($tag, ''.$tag.'', $res['title']);
//$res['description'] = str_replace($tag, '<font color="#f00">'.$tag.'</font>', $res['description']);
$res['description'] = str_replace($tag, ''.$tag.'', $res['description']);
$datas[] = $res;
}
}
$SEO = seo($siteid, '', $tag);
include template('content','tag_list');
}
前端调用方法
{pc:get sql="SELECT id,keyword FROM `v9_keyword` WHERE siteid=$siteid AND catid=27 ORDER BY `videonum` DESC" num="66"} //
{loop $data $r}
{php $num++}
<a href="{APP_PATH}index.php?m=content&c=tag&catid=27&a=lists&id={$r[id]}&tag={urlencode($r['keyword'])}" title="{$r[keyword]}">{$r[keyword]}</a>
{/loop}
{/pc}
相关文章
phpcms-v9中将一个站点下的文章内容完美的推送到另一个站点下2024-09-24
phpcms loop循环判断是否为最后一条的代码2024-06-18
Phpcms V9 文章或图片模型增加相关下载功能2022-12-30
phpcms文章列表增加一键推送到百度功能2022-12-08
phpcms 标题SEO栏目不同的代码2022-11-14
PHPCMS替换内容的两种方法:str_replace和preg_replace2022-10-25
phpcms 搜索结果第一页比设定的多一条数据的解决办法2021-01-05
phpcms v9 字段多行文本不换行的解决办法2020-09-22
phpcms 栏目和文章页面“您没有访问该信息的权限”跳转登陆页面2020-09-17
phpcms 模板header包含action="lists"导致搜索结果错误的解决方案2020-04-26