ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁(yè)|最近更新|專題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏

織夢(mèng)dedecms調(diào)用自定義圖片字段路徑顯示問題解決方法

時(shí)間:2019-11-08 08:31:57人氣:0

織夢(mèng)dedecms調(diào)用自定義圖片字段路徑顯示問題解決方法

使用正常的調(diào)用自定義字段方法 如
{dede:arclist typeid='9' row='15' orderby='pubdate' addfields='youhuaanlilogo' channelid='1'}
[field:youhuaanlilogo/]
  {/dede:arclist} 

顯示的內(nèi)容是

{dede:img text='' width='254' height='138'} /uploads/161027/1-16102G12Z1930.png {/dede:img}

但我們想要的不是這種格式。在網(wǎng)上搜索發(fā)現(xiàn)有解決方法,如下

1>創(chuàng)建自定義函數(shù)

打開 /include/extend.func.php 文件(注:這個(gè)文件就是系統(tǒng)預(yù)留的自定義函數(shù)接口文件,主要用于二次開發(fā)用的。如果你是老版本,默認(rèn)沒有這個(gè)文件,自己創(chuàng)建一個(gè)PHP文件即可)
// 獲取 'img-圖片' 附加字段圖片地址
// 針對(duì) '{dede:img text='' width='2534' height='1138'} /uploads/161027/1-16102G12Z1930.png {/dede:img}' 格式
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;       
    }   
}  

 

2>調(diào)用我們創(chuàng)建的自定義函數(shù)

[field:自定義圖片字段名 function="GetOneImgUrl(@me,顯示類型)"/]
比如:我們的自定義圖片字段名為 imgurl ,那么調(diào)用方式有以下兩種:
[field:imgurl function='GetOneImgUrl(@me,0)'/] <!--調(diào)用圖片的信息,自動(dòng)調(diào)用寬度和高度(已包含Html代碼的<img />標(biāo)簽)-->
[field:imgurl function='GetOneImgUrl(@me,1)'/] <!--只調(diào)用圖片地址,一般可用于背景圖嵌套-->

標(biāo)簽DedeCMS