dedecms调用discuz论坛信息按照ID分类调用附详细说明

时间:2021-05-19

这里说的不是dizcuz后台的js调用方法,那个一是不能很好的按照自己需求排版,二是对搜索引擎不友好。这里要得是loop标签模式。
复制代码 代码如下:
//获得任意表的内容
functionGetTable($tablename="",$row=6,$sort="",$ifcase="",$InnerText=""){
$InnerText=trim($InnerText);
if($tablename==""||$InnerText=="")return"";
$row=AttDef($row,6);
if($sort!="")$sort="orderby$sortdesc";
if($ifcase!="")$ifcase="where$ifcase";
$revalue="";
$this->dsql->SetQuery("Select*From$tablename$ifcase$sortlimit0,$row");
$this->dsql->Execute();
$ctp=newDedeTagParse();
$ctp->SetNameSpace("field","[","]");
$ctp->LoadSource($InnerText);
while($row=$this->dsql->GetArray())
{
foreach($ctp->CTagsas$tagid=>$ctag){
if(!empty($row[$ctag->GetName()]))
{$ctp->Assign($tagid,$row[$ctag->GetName()]);}
}
$revalue.=$ctp->GetResult();
}
return$revalue;
}

从上面的代码看出来if里的参数实际就是判断语句,大家可以参考表进行任意输出了
1论坛最新主题调用方法:

代码

{dede:looptable="cdb_threads"sort="tid"row="10"}
<ahref="/dz/viewthread.php?tid=[field:tid/]">
·[field:subjectfunction="cn_substr('atme',30)"/]([field:lastpostfunction="date('m-dH:M','@me')"/])
</a>
<br/>
{/dede:loop}


2论坛指定版块调用方法:
{dede:looptable="cdb_threads"if="fid=1orfid=2anddisplayorder!=-1"sort="tid"row="6"}
<ahref="/bbs/viewthreaddotphp?tid=[field:tid/]"target="_blank">
·[field:subjectfunction="cn_substr('atme',50)"/]
</a>
<br/>
{/dede:loop}


3论坛置顶版块调用方法2:
{dede:looptable="cdb_threads"sort="dateline"if="fid='3'andtypeid='51'"row="10"}
<ahref="/a/bbs/viewthreaddotphp?tid=[field:tid/]"target="_blank">
·[field:subjectfunction="cn_substr('atme',30)"/]</a><br>
{/dede:loop}


4论坛版块名称调用方法:
{dede:looptable="cdb_forums"sort="displayorder"row="16"col="4"}
<ahref="/bbs/viewthreaddotphp?fid=[field:fid/]">·[field:namefunction="cn_substr('atme',30)"/]
</a>
{/dede:loop}
注:这个还有点问题,它会将论坛分区、版块都调出来。



附:dedecms的LOOP标记规则

功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
适用范围:所有模板
(1)基本语法
{dede:looptable='sort=''row=''if=''}
底层模板
{dede:loop}
(2)属性
[1]table表示查询的数据表
[2]sort用于排序的字段
[3]row返回结果的条数
[4]if查询条件
(3)底层模板变量
这个标记的底层模板变量即是被查询表的所有字段

===========================================

论坛最新主题:<br/>
{dede:looptable="cdb_threads"if="fid=9anddisplayorder!=-1"sort="tid"row="10"}
<ahref="/dz/viewthread.php?tid=[field:tid/]">
·[field:subjectfunction="cn_substr('@me',30)"/]([field:lastpostfunction="date('m-dH:M','@me')"/])
</a>
<br/>
{/dede:loop}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章