找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 187|回复: 0

[cms教程] 让dedecms的channelartlist标签支持channelid属性

[复制链接]

该用户从未签到

发表于 2021-5-11 12:41:43 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
dedecms问题:一个顶级栏目中,包含了文章模型,图片等模型的栏目,现在需求,只是将文章模型的栏目搜出来,但是不能用typeid来指定.指定特定的频道模型内容在列表显示。
        让dede:channelartlist支持channelid调用。 如:{dede:channelartlist channelid='1'}
        解决:打开include/taglib/channelartlist.lib.php
         
        1.   找到代码
          //处理标记属性、innertext
            $attlist = 'typeid|0]row|20]cacheid|';
         
        修改成
            $attlist = 'typeid|0]row|20]cacheid|,channelid|';
         
        2. 找到
         
        //获得类别ID总数的信息
            $typeids = array();
         
            if($typeid==0 || $typeid=='top') {
                $tpsql = " reid=0 AND ispart2 AND ishidden1 AND channeltype>0 ";
            }
            else
            {
                if(!preg_match('#,#', $typeid)) {
                    $tpsql = " reid='$typeid' AND ispart2 AND ishidden1 ";
                }
                else {
                    $tpsql = " id IN($typeid) AND ispart2 AND ishidden1 ";
                }
            }
         
        在其后增加
         
       
               
                       
                               
                                       
if (!empty($channelid)) {
        $tpsql .= " and channeltype in ($channelid)";
    }
                               
                       
               
       

         
        这个语句必须加在之后,
         
       
               
                       
                               
                                       
$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl]sitepath
                                            FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum");
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 02:16

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表