欢迎光临
我们一直在努力

DEDE全局标签:loop 万能调用标签

购买童装可电话联系:13783019327 同微信 巩义本地可去实体店选购。

标签名称:loop

标记简介:

功能说明:调用任意表的数据标签

适用范围:全局使用

基本语法:

{dede:loop table='dede_archives' sort='' row='4' if=''}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:loop}

参数说明:

table = '' 查询表名

sort = '' 用于排序的字段

row = '' 返回结果的条数

if = '' 查询的条件

底层模板变量:

这个标记的底层模板变量即是被查询表的所有字段

dedecms调用discuz论坛帖子、图片数据的方法很多人都有需要,大家一起整理了,我这里只有新帖、版块帖子调用方法。精华、回复、图片的调用还没有,请高手补充。

这里说的不是dizcuz后台的js调用方法,那个一是不能很好的按照自己需求排版,二是对搜索引擎不友好。这里要得是loop标签模式。 

复制代码

代码如下:

    //获得任意表的内容 
    function GetTable($tablename="",$row=6,$sort="",$ifcase="",$InnerText=""){ 
        $InnerText = trim($InnerText); 
        if($tablename==""||$InnerText=="") return ""; 
        $row = AttDef($row,6); 
        if($sort!="") $sort = " order by $sort desc "; 
        if($ifcase!="") $ifcase=" where $ifcase "; 
        $revalue=""; 
        $this->dsql->SetQuery("Select * From $tablename $ifcase $sort limit 0,$row"); 
        $this->dsql->Execute(); 
        $ctp = new DedeTagParse(); 
        $ctp->SetNameSpace("field","[","]"); 
        $ctp->LoadSource($InnerText); 
        while($row = $this->dsql->GetArray()) 
    { 
          foreach($ctp->CTags as $tagid=>$ctag){ 
            if(!empty($row[$ctag->GetName()])) 
            { $ctp->Assign($tagid,$row[$ctag->GetName()]); } 
          } 
          $revalue .= $ctp->GetResult(); 
        } 
        return $revalue; 
    } 

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

代码  

{ dede:loop table="cdb_threads" sort="tid" row="10" } 
<a href="/dz/viewthread.php?tid=[field:tid /]"> 
·[field:subject function="cn_substr(' at me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /]) 
</a> 
<br/> 
{ /dede:loop } 

2 论坛指定版块调用方法: 
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 
·[field:subject function="cn_substr(' at me',50)" /] 
</a> 
<br/> 
{ /dede:loop } 

3 论坛置顶版块调用方法2: 
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } 
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 
·[field:subject function="cn_substr(' at me',30)" /]</a> <br> 
{ /dede:loop } 

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

附:dedecms的LOOP 标记规则  

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

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

论坛最新主题:<br/> 
{dede:loop table="cdb_threads" if="fid=9 and displayorder!=-1" sort="tid" row="10"} 
<a href="/dz/viewthread.php?tid=[field:tid /]"> 
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /]) 
</a> 
<br/> 
{/dede:loop}

未经允许不得转载:随缘小居 » DEDE全局标签:loop 万能调用标签
购买童装可电话联系:13783019327 同微信 巩义本地可去实体店选购。
5

评论 抢沙发

评论前必须登录!

 

不跟随,有视角焦点的博客

联系我们联系我们