请选择 进入手机版 | 继续访问电脑版



吾爱汇站网官方联系方式

工作时间: 周一到周五早上09:00-11:00, 下午03:00-05:00, 晚上20:30-22:30(周六、日休息)
QQ: 211985957  168528823  97147700  53150916 汇聚、帮助、交流   E-Mail: postmaster@5ihz.cn
用户交流QQ群
1群21532443 2群413446685 ←提醒:请勿重复加群,谢谢!(本站提供低价收费技术服务,详情联系在线客服)
查看: 2554|回复: 25

织梦DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法

[复制链接]

6

主题

252

帖子

526

积分

高级会员

Rank: 4

积分
526
发表于 2019-5-22 21:04:08 | 显示全部楼层 |阅读模式
我们在使用Dedecms自定义字段的时候,有时候可能会用到图片字段,而Dede固化的图片字段调用出来的样式是下面这样的:


  1. {dede:img text='' width='270' height='129'}/uploads/101017/1-10101H21F54P.gif {/dede:img}
复制代码

很多时候这样的样式并不是我们需要的,所以我们需要进行修改来保证我们调用的自定义图片就是纯路径,这样就比较方便我们使用了,例如下面这种格式:

/uploads/101017/1-10101H21F54P.gif

要实现这样的调用并不难,我们需要添加一段自定义函数,打开/include/extend.func.php文件,在最下面加上代码:

//自定义模型图片字段调用
  1. function GetOneImgUrl($img,$ftype=1){

  2.               if($img <> ''){

  3.                       $dtp = new DedeTagParse();

  4.                       $dtp->LoadSource($img);

  5.                       if(is_array($dtp->CTags)){

  6.                               foreach($dtp->CTags as $ctag){

  7.                                       if($ctag->GetName()=='img'){

  8.                                               $width = $ctag->GetAtt('width');

  9.                                               $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 .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'"/>';

  18.                                                       }

  19.                                               }

  20.                                                                                                     }

  21.                               }

  22.                       }

  23.                       $dtp->Clear();

  24.                       return $img;

  25.                       }

  26.       }
复制代码


然后我们在调用自定义图片字段的时候加上个函数,如下:

{dede:field.sjto function='GetOneImgUrl(@me,1)'/} // 调用图片的信息,自动调用宽度和高度(已包含Html代码的<img/>),sjto为自定义的图片字段。
{dede:field.sjto function='GetOneImgUrl(@me,1)'/}//只调用图片地址,sjto为自定义的图片字段。

这样就能根据我们具体情况来调用自定义图片的纯路径或者图片信息,但是淘站网在自己本地测试的时候发现一个bug,就是在文章中上传自定义字段的图片后,保存到数据库的样式是下面这样的:

DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法

系统自动把图片路径中的斜杠/给去掉了,最终调出来的图片路径中也没有斜杠,这个问题就涉及到dede底层函数了,淘站网查看不少文件,最后在/include/customfields.func.php文件中寻求到解决方法,这个文件中,第300行有一段代码:

  1. $iurl = trim(str_replace($GLOBALS['cfg_basehost'],"",$iurl));
复制代码


看代码就知道,这里把图片的路径给做了一次替换,替换掉的内容就是变量cfg_basehost,这个变量就在后面系统设置里面:

DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法

就是站点根网址了,因为淘站网的移动站点与pc站点共用一个数据库,这里站点根网址就用斜杠/代替,而自定义图片经过那段函数处理就自动把这个斜杠给删除了,最终原因找到,那么解决方法也很简单,有两种:

一、在系统——系统基本参数设置里,把站点根网址的斜杠/换成自己的网址,这个方法适用于pc站与m站分离不用同一个数据库的网站,淘站网的网站不适用。

二、打开/include/customfields.func.php,找到代码:

  1. $iurl = trim(str_replace($GLOBALS['cfg_basehost'],"",$iurl));
复制代码


DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法

注视掉或者删掉。

这样就能解决DedeCMS自定义图片字段中路径无斜杠的问题了。

回复

使用道具 举报

kayozhao 该用户已被删除
发表于 2019-5-22 21:06:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

231

帖子

468

积分

高级会员

Rank: 4

积分
468
发表于 2019-5-22 23:45:03 | 显示全部楼层
看到这样的好资源真是高兴!感谢无私分享!
回复

使用道具 举报

6

主题

257

帖子

532

积分

高级会员

Rank: 4

积分
532
发表于 2019-5-23 06:36:18 | 显示全部楼层
这个也不错的哦
回复

使用道具 举报

6

主题

252

帖子

530

积分

高级会员

Rank: 4

积分
530
发表于 2019-5-23 06:50:17 | 显示全部楼层
强烈支持吾爱汇站网,免费就是给力啊!
回复

使用道具 举报

12

主题

256

帖子

527

积分

钻石会员(永久)

Rank: 8Rank: 8

积分
527
发表于 2019-5-23 07:37:18 | 显示全部楼层
强烈支持,免费就是给力啊!
回复

使用道具 举报

0

主题

253

帖子

520

积分

高级会员

Rank: 4

积分
520
发表于 2019-5-23 07:56:18 | 显示全部楼层
看看有没有用啦谢谢啦
回复

使用道具 举报

8

主题

253

帖子

526

积分

高级会员

Rank: 4

积分
526
发表于 2019-5-23 08:23:04 来自手机 | 显示全部楼层
是爷们的娘们的都帮顶!大力支持
回复

使用道具 举报

0

主题

256

帖子

524

积分

高级会员

Rank: 4

积分
524
发表于 2019-5-23 09:03:57 | 显示全部楼层
看完好激动就是不知道能不能让我下载  嘿嘿
回复

使用道具 举报

1

主题

253

帖子

523

积分

高级会员

Rank: 4

积分
523
发表于 2019-5-23 09:06:56 来自手机 | 显示全部楼层
楼主的帖子实在是写得太好了,不觉明厉啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


客服中心
关闭

欢迎来到汇站网

如果你有建站技术问题、仿站需求、设计服务请联系我们!高效率,低价帮格你搞定!

·······························

主机购买:查看
设计服务:查看
网站建设:查看
技术协助:查看
售前
售后
技术支持(收费)
客服中心
快速回复 返回顶部 返回列表