织梦BUG

织梦dede:list按flag属性调用文档

织梦教程2020-03-23
织梦教程简介简介:织梦dede:list默认在栏目列表页是不支持按flag输出的,想要按flag调用指定属性的文档和分页,我们可以这样做...

伸手党 直接下载

如果不想改的小伙伴可以直接下载我已经改好的这个文件,先备份你的 include/arc.listview.class.php ,再覆盖我的

链接: https://pan.baidu.com/s/1M9WcPoJm8OnKE7cDN-SyCg 提取码: 79et

动手党 跟着下面的教程来操作

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

var $remoteDir;

在它下面加入一行

var $Flag;

如图

继续找到

$this->remoteDir = '';

在它下面加入一行

$this->Flag = '';

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

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

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

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

放它的下面来

如图

继续找到

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 ";
}

如图

继续找到

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

在它上面加入

if($this->Flag != "")
{
	$cquery = "SELECT COUNT(*) AS dd FROM `dede_archives` arc WHERE ".$this->addSql;
}

如图

最后找到

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

改成

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

如图

栏目列表页flag标签的写法

{dede:list pagesize='10' titlelen='250' flag='c,p'}

{/dede:list}

flag='c,p'  支持一个属性和多个属性同时调用

版权声明

本文为站长原创文章,未经站长允许不得转载。本文地址:https://www.dedecmsbug.comhttps://www.dedecmsbug.com/notes/111.html