三叶草 发表于 2021-9-22 19:14:42

织梦列表页dede:list标签调用支持flag属性方法

织梦列表页list标签支持flag属性方法:(注:红色标记部分就是修改处)

1、打开include/arc.listview.class.php

2、找到 var $remoteDir;

      替换 var $remoteDir;

               var $flag;

3、找到下方代码并注释


//      if($this->TotalResult==-1)
//      {
//            $cquery = "SELECT COUNT(*) AS dd FROM `dede_arctiny` arc WHERE ".$this->addSql;
//            $row = $this->dsql->GetOne($cquery);
//            if(is_array($row))
//            {
//                $this->TotalResult = $row['dd'];
//            }
//            else
//            {
//                $this->TotalResult = 0;
//            }
//      }
4、在253行左右找到$this->TotalPage = ceil($this->TotalResult/$this->PageSize);在前面添加如下代码:


/* flag */
if($this->TotalResult==-1)
      {
foreach($this->dtp->CTags as $tagid=>$ctag)
{
$flag = $ctag->GetAtt('flag');
if($flag!='') {
$this->addSql .=   " and (arc.flag like '%{$flag}%') ";
}
}
            $cquery = "SELECT COUNT(*) AS dd FROM `dede_archives` arc WHERE ".$this->addSql;
            $row = $this->dsql->GetOne($cquery);
            if(is_array($row))
            {
                $this->TotalResult = $row['dd'];
            }
            else
            {
                $this->TotalResult = 0;
            }
      }
   /* flag end */
5、在637行左右找到$ctag->GetAtt("orderway")
    替换$ctag->GetAtt("orderway"),

            $ctag->GetAtt("flag")



6、在712行左右function GetArcList($limitstart=0,$row=10,$col=1,$titlelen=30,$infolen=250,

$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$innertext="",$tablewidth="100",$ismake=1,$orderWay='desc',$flag='')中添加了$flag=''

7、在745行左右也就是"//排序方式"上面添加 :

      //添加flag标签

$whereFlag = "";

if($flag!='') {

$whereFlag = " and arc.flag like '%{$flag}%' ";

}

8、在799行左右 修改成if(preg_match('/hot|click|lastpost|weight|flag/', $orderby))

9、标签调用:

{dede:list flag='c' pagesize ='3'}

      {/dede:list}

接下来{dede:list}标签就支持了flag属性的调用了。


http://www.adminbuy.cn/dedecmsjc/9377.html
页: [1]
查看完整版本: 织梦列表页dede:list标签调用支持flag属性方法