dedecms調(diào)用discuz論壇信息按照ID分類調(diào)用附詳細說明
更新時間:2008年06月01日 19:50:08 作者:
dedecms調(diào)用discuz論壇帖子、圖片數(shù)據(jù)的方法很多人都有需要,大家一起整理了,我這里只有新帖、版塊帖子調(diào)用方法。精華、回復(fù)、圖片的調(diào)用還沒有,請高手補充。
這里說的不是dizcuz后臺的js調(diào)用方法,那個一是不能很好的按照自己需求排版,二是對搜索引擎不友好。這里要得是loop標簽?zāi)J健?
//獲得任意表的內(nèi)容
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里的參數(shù)實際就是判斷語句,大家可以參考表進行任意輸出了
1 論壇最新主題調(diào)用方法:
代碼
{ 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 論壇指定版塊調(diào)用方法:
{ 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 論壇置頂版塊調(diào)用方法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 論壇版塊名稱調(diào)用方法:
{ 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 }
注:這個還有點問題,它會將論壇分區(qū)、版塊都調(diào)出來。
附:dedecms的LOOP 標記規(guī)則
功能說明:用于調(diào)用任意表的數(shù)據(jù),一般用于調(diào)用論壇貼子之類的操作
適用范圍:所有模板
(1) 基本語法
{ dede:loop table=' sort='' row='' if='' }
底層模板
{ dede:loop }
(2) 屬性
[1] table 表示查詢的數(shù)據(jù)表
[2] sort 用于排序的字段
[3] row 返回結(jié)果的條數(shù)
[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}
復(fù)制代碼 代碼如下:
//獲得任意表的內(nèi)容
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里的參數(shù)實際就是判斷語句,大家可以參考表進行任意輸出了
1 論壇最新主題調(diào)用方法:
代碼
{ 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 論壇指定版塊調(diào)用方法:
{ 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 論壇置頂版塊調(diào)用方法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 論壇版塊名稱調(diào)用方法:
{ 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 }
注:這個還有點問題,它會將論壇分區(qū)、版塊都調(diào)出來。
附:dedecms的LOOP 標記規(guī)則
功能說明:用于調(diào)用任意表的數(shù)據(jù),一般用于調(diào)用論壇貼子之類的操作
適用范圍:所有模板
(1) 基本語法
{ dede:loop table=' sort='' row='' if='' }
底層模板
{ dede:loop }
(2) 屬性
[1] table 表示查詢的數(shù)據(jù)表
[2] sort 用于排序的字段
[3] row 返回結(jié)果的條數(shù)
[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}
相關(guān)文章
dedecms織夢系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)詳細說明-附表名與字段名
dedecms織夢系統(tǒng)是一個自由和開放源碼的內(nèi)容管理系統(tǒng),簡單易用,功能豐富,原生php程序,二開簡單,曾經(jīng)流行了好多年,就是現(xiàn)在還有人再使用。本文囊括了dedecms數(shù)據(jù)庫所有的86張數(shù)據(jù)表結(jié)構(gòu)和字段詳細說明,需要的朋友可以參考下。2023-04-04dedecms統(tǒng)計欄目文章數(shù)量實現(xiàn)代碼修訂版
以下的實現(xiàn)辦法為修訂的方法,可實現(xiàn)任意指定欄目的文章數(shù)量統(tǒng)計,包括最終列表欄目和含有子欄目的欄目。2008-03-03dedecms下仿chinaz二級下拉動態(tài)讀取代碼
最近用dedecms模仿chinaz的模板,發(fā)現(xiàn)每次都用靜態(tài)以后的文件特麻煩,沒想到網(wǎng)上已經(jīng)有高手給解決了,大家看代碼2008-05-05