dedecms添加自定义图片字段,调用时出现的问题

织梦教程 强烈建议 2024-02-06 13:41 85 0

  dedecms的文章模型,只有一个缩略图,然后就是文章内容,编辑器中,可能也有多图上传等,能得到图片。通过内容中得到也不明确。

  文章,除了缩略图,还需要一个logo图,所以,就打算修改下 “文章模型”,新增一个logo图片上传字段即可,这个字段,会添加到 addtable 对应的数据表中(addonarticle)。

  所有都按正常走的,上传等也顺利,数据库中也有了,但打开数据库一看,里面保存的内容是:{dede:img text='' width='2534' height='1138'} /uploads/161027/1-16102G12Z1930.png {/dede:img}

  解决方案,分2步:

  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 .='dedecms添加自定义图片字段,调用时出现的问题';

  }

  }

  }

  }

  }

  $dtp->Clear();

  return $img;

  }

  }

  2>调用我们创建的自定义函数

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

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

  引用

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

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



时间:(2024-02-06 13:41:46)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!