DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 织梦教程 >

Dede 自定义图片字段调用的问题解决

来源:未知 编辑:admin 发布时间:2020-09-14热度:
做站过程中碰到这样一个问题,找到解决办法收藏分享:为什么在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于:引用 {dede:img text= width=270 height=129} /uploads/...

做站过程中碰到这样一个问题,找到解决办法收藏分享:为什么在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于:引用
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}


这样的格式!
***明显,这样是不能正确显示的,这是织梦自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数,其实现方式为:

一、实现方法1)创建自定义函数
打开 /include/extend.func.php 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在***下面的?>上一行加入以下函数代码:

01 function GetOneImgUrl($img,$ftype=1){ 
02     if($img <> ''){ 
03         $dtp new DedeTagParse(); 
04         $dtp->LoadSource($img); 
05         if(is_array($dtp->CTags)){ 
06             foreach($dtp->CTags as $ctag){ 
07                 if($ctag->GetName()=='img'){ 
08                     $width $ctag->GetAtt('width'); 
09                     $height $ctag->GetAtt('height'); 
10                     $imgurl = trim($ctag->GetInnerText()); 
11                     $img ''
12                     if($imgurl != ''){ 
13                         if($ftype==1){ 
14                             $img .= $imgurl
15                         
16                         else
17                             $img .=
18                         
19                     
20                               
21                 
22             
23         
24         $dtp->Clear(); 
25         return $img;     
26     
27 }

保存后关闭即可。
 

2)函数调用方法
问:我们创建好函数以后,那么这个函数要如何来调用呢?

答:本函数的调用方法为:

[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]

比如:我们的自定义图片字段名为 imgurl ,那么调用方式有以下两种:

引用
 [field:imgurl function='GetOneImgUrl(@me,0)'/]
[field:imgurl function='GetOneImgUrl(@me,1)'/]

DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!