最新公告
  • 欢迎您光临云梦下载网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 织梦DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法

    我们在使用DedeCMS自定义字段的时候,有时候可能会用到图片字段,而Dede固化的图片字段调用出来的样式是下面这样的:
     
     
    {dede:img text=” width=’270′ height=’129′}/uploads/101017/1-10101H21F54P.gif {/dede:img}
     
    很多时候这样的样式并不是我们需要的,所以我们需要进行修改来保证我们调用的自定义图片就是纯路径,这样就比较方便我们使用了,例如下面这种格式:
     
     
    /uploads/101017/1-10101H21F54P.gif
     
    要实现这样的调用并不难,我们需要添加一段自定义函数,打开/include/extend.func.php文件,在最下面加上代码:
     
     
    //自定义模型图片字段调用
    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;
     
                          }
     
          }
     
    然后我们在调用自定义图片字段的时候加上个函数,如下:
     
     
    {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行有一段代码:
     
     
    $iurl = trim(str_replace($GLOBALS[‘cfg_basehost’],””,$iurl));
     
    看代码就知道,这里把图片的路径给做了一次替换,替换掉的内容就是变量cfg_basehost,这个变量就在后面系统设置里面:
     
    DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法
     
    就是站点根网址了,因为淘站网的移动站点与pc站点共用一个数据库,这里站点根网址就用斜杠/代替,而自定义图片经过那段函数处理就自动把这个斜杠给删除了,最终原因找到,那么解决方法也很简单,有两种:
     
    一、在系统——系统基本参数设置里,把站点根网址的斜杠/换成自己的网址,这个方法适用于pc站与m站分离不用同一个数据库的网站,淘站网的网站不适用。
     
    二、打开/include/customfields.func.php,找到代码:
     
     
    $iurl = trim(str_replace($GLOBALS[‘cfg_basehost’],””,$iurl));
     
    DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法
     
    注视掉或者删掉。
     
    这样就能解决DedeCMS自定义图片字段中路径无斜杠的问题了。

     
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!616105616@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!

    云梦下载网 » 织梦DedeCMS自定义图片字段调用方法与无斜杠“/”的解决方法
    • 5会员总数(位)
    • 3383资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 484稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情