本文實例講述了dedeCMS使用arclist標簽調用自定義字段的方法。分享給大家供大家參考。具體分析如下:
其實方法非常的簡單我們只要使用addfields就可以實現增加自定自段了,不過有一點需要注意的是如果你在在后面加的我們需要把底層給選中,否則是可能調用不到字段的.
語法
{dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定義模型id號'}
[field:textlink /] [field:附加字段1/] [field:附加字段2/]< [field:附加字段3/]<
{/dede:arclist}
實例
{dede:arclist flag='c' typeid='23' channelid='1' addfields='tpic2' limit='0,8'}
<div class="works">
<a title="[field:title /]" href="#">
<img src="[field:tpic2 function='GetOneImgUrl(@me,1)'/] " width="940" height="440" alt="#">
</a>
</div>
{/dede:arclist}
要求:
1、指定 channelid 屬性
2、指定要獲得的字段 addfields='字段1,字段'
3、必須選擇 使字段可以在列表的底層模板中獲得(自定義字段默認僅能在文檔模板顯示,啟用此選項將使列表查詢變慢,如無必要請不要選擇),這個可以用來做普通的文字類型,如果要是圖片的類型的話會出現.
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
這明顯不是我們想要的,這個時候我們弄一個自定函數,</p> <p>function GetOneImgUrl($img,$ftype=1){
if($img <> ''){ //var articleUrl = http://www.jb51.net
$dtp = new DedeTagParse();
$dtp->LoadSource($img);
if(is_array($dtp->CTags)){
foreach($dtp->CTags as $ctag){
if($ctag->GetName()=='img'){
$width = $ctag->GetAtt('width');
$height = $ctag->GetAtt('height');
$imgurl = trim($ctag->GetInnerText());
$img = '';
if($imgurl != ''){
if($ftype==1){
$img .= $imgurl;
}
else{
$img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';
}
}
}
}
}
$dtp->Clear();
return $img;
}
}
調用
[field:tpic2 function='GetOneImgUrl(@me,1)'/]
這樣即可.
希望本文所述對大家的dedecms建站有所幫助。
此文由 網站目錄_網站網址收錄與提交入口 編輯,未經允許不得轉載!: