POST TIME:2017-11-13 00:16
做站過程中碰到這樣一個問題,找到解決辦法收藏分享:為什么在首頁用自定義列表調(diào)用出來的圖片字段不是正確的圖片地址,而是類似于:引用
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
這樣的格式!
非常明顯,這樣是不能正確顯示的,這是織夢自定義圖片字段的處理方式造成的。要解決這個問題,我們必須得創(chuàng)建一個自定義函數(shù),其實現(xiàn)方式為:
一、實現(xiàn)方法1)創(chuàng)建自定義函數(shù)
打開 /include/extend.func.php 文件(注:這個文件就是系統(tǒng)預(yù)留的自定義函數(shù)接口文件,主要用于二次開發(fā)用的。如果你是老版本,默認沒有這個文件,自己創(chuàng)建一個PHP文件即可),在最下面的?>上一行加入以下函數(shù)代碼:
折疊PHP 代碼復(fù)制內(nèi)容到剪貼板
引用
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 .= '';
}
}
}
}
}
$dtp->Clear();
return $img;
}
}
保存后關(guān)閉即可。
2)函數(shù)調(diào)用方法
問:我們創(chuàng)建好函數(shù)以后,那么這個函數(shù)要如何來調(diào)用呢?
答:本函數(shù)的調(diào)用方法為:
[field:自定義圖片字段名 function="GetOneImgUrl(@me,顯示類型)"/]
比如:我們的自定義圖片字段名為 imgurl ,那么調(diào)用方式有以下兩種:
引用
[field:imgurl function='GetOneImgUrl(@me,0)'/]
[field:imgurl function='GetOneImgUrl(@me,1)'/]