(5.7sp1版測試通過)織夢DedeCMS網(wǎng)站內(nèi)容模型普通文章調(diào)用自定義圖片字段的方法:
方法一:我們首先需要創(chuàng)建一個自定義函數(shù),
找到:/include/extend.func.php ,在< ?php 后加入以下代碼:
function GetOneImgUrl($img,$ftype=1){
if($img <> ''){
$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;
}
}
|
保存就可
調(diào)用實例:
{dede:arclist addfields='pro_img1,pro_img2' channelid='1' }
<img src="[field:pro_img1 function='GetOneImgUrl(@me,1)'/]" width="100" height="100" />
<a href="[field:pro_img2 function='GetOneImgUrl(@me,1)'/]"><img src="[field:pro_img2function='GetOneImgUrl(@me,1)'/]" width="100" height="100" /></a>
{/dede:arclist}
|
channelid='1'說明一下是頻道前面的id數(shù)字
'pro_img1,pro_img2' 這些是圖片字段替換成你的就可
方法二:
利用正則表達(dá)式來
{dede:arclist addfields='pro_img1' channelid='1' }
<img src="[field:pro_img1 runphp='yes']
$ndtp = new DedeTagParse();
$ndtp->LoadSource(@me);
$ntag = $ndtp->GetTag("img");
@me = trim($ntag->GetInnerText());
[/field:pro_img1]" width="100" height="100" />
{/dede:arclist}
|
缺點只能保存一個 優(yōu)點不用去改動源核心文件
channelid和typeid區(qū)別
channelid 頻道調(diào)用 是在內(nèi)容模型里管理,頻道名稱的前面也有一個id,這個ID用 channelid調(diào)用。
Dedecms屬性標(biāo)簽channelid和typeid的區(qū)別
這個調(diào)用需要頻道里面有子欄目才可以的。
而typeid 就是純粹的欄目調(diào)用 可以調(diào)用里面的文章
Dedecms屬性標(biāo)簽channelid和typeid的區(qū)別
這個就是 channelid頻道和typeid欄目標(biāo)簽調(diào)用的區(qū)別。