dede:list 增加自定义属性 例如增加个noflag属性判定
【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
要为list增加任何功能都可以参考此文。
所需要修改的文件为include/arc.listview.class.php
在第45行 var $remoteDir; 这个代码后面增加一行代码如下。
var $Noflag;
在620行 $ctag->GetAtt("orderway") 这个代码后面增加一行代码如下。
$ctag->GetAtt("noflag")
然后找到676附近!关键词:* 获得一个单列的文档列表 下面有代码function GetArcList($limitstart=0,$row=10………… 我只展示了部分。
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',$noflag='')
看到了把,最后面增加了$noflag=''
然后在730行前面,关键词:$ordersql = ''; 注意是前面增加如下代码:
$noflags = explode(',', $noflag);
$noflagsql = '';
for($i=0;$i<count($noflags);$i++)
{
$noflagsql .= "And arc.flag not like '%{$noflags[$i]}%' ";
}
这样子写是考虑到多个标签
然后将后面的注释为 //如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢) 里面的
【然后在780行找到
$query = "Select arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,
tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
$addField
from `#@__archives` arc
left join `#@__arctype` tp on arc.typeid=tp.id
$addJoin
where {$this->addSql} $ordersql limit $limitstart,$row";】
【更改为
$query = "Select arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,
tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
$addField
from `#@__archives` arc
left join `#@__arctype` tp on arc.typeid=tp.id
$addJoin
where {$this->addSql} $noflagsql $ordersql limit $limitstart,$row";】
----------------------------------------------------------------------------------------------
【然后在793行找到
$query = "Select id From `#@__arctiny` arc where {$this->addSql} $ordersql limit $limitstart,$row ";】
【更改为
$query = "Select id From `#@__archives` arc where {$this->addSql} $noflagsql $ordersql limit $limitstart,$row ";】
这里可以为计数增加一段统计,这行代码可以不增加的。注意哦。可以在799行下面添加如下代码:
【找到
$this->dsql->Execute();
while($arr=$this->dsql->GetArray())
{
$ids[] = $arr['id'];
}】
在这个代码下面添加:
$this->TotalResult = count($ids); 这个其实可以不添加的,这里说明一下,本人没弄明白这个统计数量的如何在前台调用。
---------------------------------------------------------------------------------------------
【然后在807行找到
$query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,
tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
$addField
from `#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
$addJoin
where arc.id in($idstr) $ordersql ";】
【更改为
$query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,
tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
$addField
from `#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
$addJoin
where arc.id in($idstr) $noflagsql $ordersql ";】
----------------------------------------------------------------------------------------------
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏