当前位置 : 主页 > 建站教程 > dedecms >

完美解决dedecms内容页列表页调用自定义图片地址

来源:互联网 收集:自由互联 发布时间:2021-06-20
织梦dedecms调用自定义图片的时候在内容页或列表页输出的格式如下: li a href=/uploads/140420/1-140420164Z2914.jpg target=_blank img src=/uploads/140420/1-140420164Z2914.jpg width=253 border=0/ /a br / a href=/upload
织梦dedecms调用自定义图片的时候在内容页或列表页输出的格式如下: <li> <a href='http://img.558idc.com/uploadfile/140420/1-140420164Z2914.jpg' target='_blank'>  <img src='http://img.558idc.com/uploadfile/140420/1-140420164Z2914.jpg' width='253' border='0'/> </a> <br /> <a href='http://img.558idc.com/uploadfile/140420/1-140420164Z2914.jpg' target='_blank'></a> </li>         这很难满足我们的实际需要,比如做一个幻灯片的时候会调用图集的图片,而不用默认的dedecms的图集模版,所以自己动手吧,网上查阅了很多这方面的资料,最后总结如下:        在设置自定义字段为图片的时候一定要选“图片(仅网址)”,这样输出的格式就是 {dede:imgtext='' width='270' height='129'}http://img.558idc.com/uploadfile/101017/1-10101H21F54P.gif{/dede:img}         如果自定义字段名为:name,内容页前台这样调用: <img src="{dede:field.name}"/>        输出的是 <img src="{dede:img text=''width='270' height='129'}http://img.558idc.com/uploadfile/101017/1-10101H21F54P.gif{/dede:img}"/>       其实是输出的时候没有相关的php函数,找到/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;           }   }   保存即可。       前台内容页格式为:  <img alt="{dede:field.title/}" src="{dede:field.name function='GetOneImgUrl(@me,1)'/}">        看得懂的站长容易理解,@me,0   代表只输出路径,@me,0    代表连宽、高一起输出        同样的列表页或首页用相应的标签套进去就行了。  
网友评论
相关栏目