首页 > 网站 > 建站经验 > 正文

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

2019-11-02 17:03:45
字体:
来源:转载
供稿:网友
这里说的不是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)" /]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表