主頁 > 網(wǎng)站建設(shè) > 建站知識 > Dede 自定義圖片字段調(diào)用的問題解決

Dede 自定義圖片字段調(diào)用的問題解決

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)'/]



上一篇:DedeCMS列表推薦文章加粗效果去除方法

下一篇:dede5.6和5.7版本中實現(xiàn)dede:list按權(quán)重排序

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266