程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> dedeCMS5.7調用指定id文章的方法

dedeCMS5.7調用指定id文章的方法

編輯:PHP綜合
為大家介紹Dede5.7調用指定id文章的方法   有時候我們需要用到特定的一些文章作為我們熱推的文章,那麼我們在dedecms中,如何調用指定的ID文章了,也許有人會說可以使用dedecms   的flag屬性,當然可以,但是有時候,我們不必用那麼多屬性,也許我想哪篇就是哪篇這樣是否會好些了,我們可以使用下面的方法。  {dede:arclist idlist='13' limit='0,1' infolen='60'}  <span class="ts"><a href="[field:arcurl/]" target="_blank">[field:title/]</a></span> <span class="tsj">[field:infos/]<a href="[field:arcurl/]" target="_blank" >[詳細]</a></span> {/dede:arclist} 使用idlist直接調用指定的ID這樣的方法,也是比較好的。 官方給與的說明是:idlist =” 提取特定文檔(文檔ID)。這個很不錯,也比較簡單和實用。 網絡給與的dedecms調用指定id文章的方法: 方法一: 找到:include\inc_arcpart_view.php文件,在裡面找到第function ParseTemplet();這一個函數裡面的 代碼如下:   〔  $this->dtp->Assign($tagid,  $this->GetArcList($typeid,$ctag->GetAtt("row"),$ctag->GetAtt("col"),  $titlelen,$infolen,$ctag->GetAtt("imgwidth"),$ctag->GetAtt("imgheight"),  $ctag->GetAtt("type"),$orderby,$ctag->GetAtt("keyword"),$innertext,  $ctag->GetAtt("tablewidth"),0,"",$channelid,$ctag->GetAtt("limit"),$ctag->GetAtt("att"),  $ctag->GetAtt("orderway"),$ctag->GetAtt("subday"),$autopartid,$ctag->GetAtt("ismember")  )  〕 將裡面的紅色的0改為$ctag->GetAtt(‘arcid’),就行了   然後到incclude\inc\inc_fun_spgetarclist.php文件裡面找到   〔if($arcid!=0) $orwhere .= " And arc.ID<>'$arcid' ";〕  將這一句改為:if($arcid!=0) $orwhere .= " And arc.ID='$arcid' ";  if($arcid==0) $orwhere .= " And arc.ID<>'$arcid' ";   代碼如下: {dede:arclist arcid='13' row='5' col='1' titlelen='24' }  <table cellspacing='2' cellpadding='2'>  <tr>  <td>[field:title/]  [field:info/]</td>  </tr>  </table>  {/dede:arclist} 這樣就只會調用到一個ID為13的文章,即始ROW設為5也沒有用,因為從數據庫裡面只提出一條記錄來, 但是現在還不能解析HTML語法,提出來的文章沒有版式,下次改進。 方法二: 剛一開始沒有仔細看論壇,所以自已寫出這樣的方法,其實大可不必按以上的方法做,可以借助強大的LOOP來實現這一種需求,現將個人方法寫在   下面,希望對需要的人有幫助; 在首頁模板裡面加入如下代碼:   代碼如下: {dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=50'}  [field:body/]  <hr>  [field:body function="Html2Text(cn_substr('@me',200))" /]  {/dede:loop} 注意下面的這一行: {dede:loop table=’dede_addonarticle’ sort=’aid’ row=’8′ if=’aid=50′} 其中有一個aid=50代表要取文章列表的ID號為50的文章, table=’dede_addonarticle’ 為所存文章的表 其中中間的這一行最重要, [field:body function="Html2Text(cn_substr('@me',200))" /] 這一句有多種調用方式: 如:[field:body/]將得到文章所有的內容,不過濾HTML標記 [field:body function="(cn_substr('@me',200))" /] 只取內容的前200個字符 [field:body function="Html2Text(cn_substr('@me',200))" /] 取前200個字符並把HTML標記過濾 dedecms調用指定id文章的方法方法三: 你要那篇文章應該知道那篇文章的id,這點應該沒有疑問吧 那就可以搞定了,xx就是文章的id,得到文章標題 {dede:global runphp="yes"}  global $dsql;  $row=$dsql->getOne("select title from web_archives where id=xxx");  @me=$row["title"];  {/dede:global}     得到文章的內容  {dede:global runphp="yes"}  global $dsql;  $row=$dsql->getOne("select body from web_addonarticle where aid=xxx");  @me=$row["body"];  {/dede:global} 選擇自己實用的方法,對自己的開發有較大的好處哦。 *
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved