phpcms中让标签tag按照栏目catid进行筛选

默认的phpcms 的tag是无法筛选catid的,如需要按catid进行筛选首选我们需要将catid写入数据表中,方法参照phpcms 关键词keyword表加入栏目catid的方法

然后修改phpcms/,odules/content/tag.php 找到public function lists()进行修改,请参照如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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');
}

前端调用方法

1
2
3
4
5
6
{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}
常见问题
所有的素材与插件都可以用吗?
本站所有的素材与插件(包括免费的),都是本工作室用过的,测试过的,或者二开修改过的,理论上来说没有什么bug,但不保证在所有环境下都可以完美运行。
收费素材与免费素材怎么定义的
本站收费的素材,也是及其便宜的,其实就是收个打赏钱,是工作室对这些插件的测试,整理,修复,优化的辛苦钱,并非开发插件的费用,原创插件或者模版收费稍贵一些。
出现问题了怎么办?
由于收费非常低,大部分都不超10元,所以并不提供售后服务,但您如果需要,可以联系我付费咨询,费用为50元/次/小时。如果是原创模版或者插件,可以免费为您指导。
原文链接:https://www.52gys.cn/3701.html,转载请注明出处。
0

评论0

没有账号?注册  忘记密码?