做站過程中碰到這樣一個(gè)問題,找到解決辦法收藏分享,為什么在首頁用自定義列表調(diào)用出來的圖片字段不是正確的圖片地址,而是類似于.
- //引用
- {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
這樣的格式.
非常明顯,這樣是不能正確顯示的,這是織夢自定義圖片字段的處理方式造成的,要解決這個(gè)問題,我們必須得創(chuàng)建一個(gè)自定義函數(shù),其實(shí)現(xiàn)方式為.
一、實(shí)現(xiàn)方法
1)創(chuàng)建自定義函數(shù)
打開 /include/extend.func.php 文件,注,這個(gè)文件就是系統(tǒng)預(yù)留的自定義函數(shù)接口文件,主要用于二次開發(fā)用的,如果你是老版本,默認(rèn)沒有這個(gè)文件,自己創(chuàng)建一個(gè)PHP文件即可,在最下面的?>上一行加入以下函數(shù)代碼.
- //引用
- 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.'" />'; //開源軟件:Vevb.com
- }
- }
- }
- }
- }
- $dtp->Clear();
- return $img;
- }
- }
保存后關(guān)閉即可.
2)函數(shù)調(diào)用方法
問:我們創(chuàng)建好函數(shù)以后,那么這個(gè)函數(shù)要如何來調(diào)用呢?
答:本函數(shù)的調(diào)用方法為:
[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)用圖片地址,一般可用于背景圖嵌套-->
新聞熱點(diǎn)
疑難解答
圖片精選