• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 建站常见问题 > 正文

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

发布时间:2021-04-30 | 发布者: 东东工作室 | 浏览次数:

织梦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'  支持一个属性和多个属性同时调用

转载请标注:东东工作室——织梦dede:list按flag属性调用文档