muban大师 发表于 2020-2-15 10:34:40

织梦栏目列表页dede:list按flag属性调用文章方法

织梦栏目列表页dede:list按flag属性调用文章方法,跟着下面的教程来操作

        打开 include/arc.listview.class.php 找到,大概在45行

        var $remoteDir;

        在它下面加入一行

        var $Flag;

       
https://www.adminbuy.cn/uploads/allimg/200215/1035234c8-0.png

        继续找到

        $this->remoteDir = '';

        在它下面加入一行

        $this->Flag = '';

       

        继续找到,大概在227行 至 267行的全部

        //初始化列表模板,并统计页面总数...

       
https://www.adminbuy.cn/uploads/allimg/200215/1035235V5-1.png

        把他们剪切放到,大概在155行的下面

        $this->addSql= " arc.arcrank > -1 ";

        放它的下面来

        如图

       
https://www.adminbuy.cn/uploads/allimg/200215/103523H10-2.png

        继续找到

        if($ctag->GetAtt("pagesize")!="")

        在它上面加入

if($ctag->GetAtt("flag")!="") {$this->Flag = 1; $flags = explode(',', $ctag->GetAtt("flag"));for($i=0; isset($flags[$i,); $i++) $this->addSql .= " AND FIND_IN_SET('{$flags[$i,}', arc.flag)>0 "; }
       
https://www.adminbuy.cn/uploads/allimg/200215/10352335C-3.png

        继续找到

        $row = $this->dsql->GetOne($cquery);

        在它上面加入

if($this->Flag != "") { $cquery = "SELECT COUNT(*) AS dd FROM `dede_archives` arc WHERE ".$this->addSql; }
       
https://www.adminbuy.cn/uploads/allimg/200215/103523KK-4.png

        最后找到

        if(preg_match('/hot|click|lastpost/', $orderby))

        改成

        if(preg_match('/hot|click|lastpost|weight/', $orderby) || $this->Flag != "")

       
https://www.adminbuy.cn/uploads/allimg/200215/10352343M-5.png

        织梦栏目列表页flag标签的写法
        {dede:list pagesize='10' titlelen='250' flag='c,p'}

        {/dede:list}

        flag='c,p'支持一个属性和多个属性同时调用
页: [1]
查看完整版本: 织梦栏目列表页dede:list按flag属性调用文章方法