ucbug軟件站:安全、綠色、放心的專業下載站!首頁|最近更新|專題集合|標簽云|站內導航|加入收藏

織夢dedecms調用自定義圖片字段路徑顯示問題解決方法

時間:2019-11-08 08:31:57人氣:0

織夢dedecms調用自定義圖片字段路徑顯示問題解決方法

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

顯示的內容是

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

但我們想要的不是這種格式。在網上搜索發現有解決方法,如下

1>創建自定義函數

打開 /include/extend.func.php 文件(注:這個文件就是系統預留的自定義函數接口文件,主要用于二次開發用的。如果你是老版本,默認沒有這個文件,自己創建一個PHP文件即可)
// 獲取 'img-圖片' 附加字段圖片地址
// 針對 '{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>調用我們創建的自定義函數

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

標簽DedeCMS
西宁今天快三开奖结果