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

softyun3年前cms教程116

 教大家如何完美的解决dedecms内容页或列表页调用自定义图片,输出的格式如下:
<li>
<a href='/uploads/140420/1-140420164Z2914.jpg"color: rgb(51, 51, 51); font-family: 微软雅黑, "Microsoft Yahei", "Hiragino Sans GB", tahoma, arial, 宋体; padding: 0px; margin: 0px;"> <img src='/uploads/140420/1-140420164Z2914.jpg"color: rgb(51, 51, 51); font-family: 微软雅黑, "Microsoft Yahei", "Hiragino Sans GB", tahoma, arial, 宋体; padding: 0px; margin: 0px;"></a>
<br />
<a href='/uploads/140420/1-140420164Z2914.jpg"color: rgb(51, 51, 51); font-family: 微软雅黑, "Microsoft Yahei", "Hiragino Sans GB", tahoma, arial, 宋体; padding: 0px; margin: 0px;"></li>
        这很难满足我们的实际需要,比如做一个幻灯片的时候会调用图集的图片,而不用默认的dedecms的图集模版,所以自己动手吧,网上查阅了很多这方面的资料,最后总结如下:
       在设置自定义字段为图片的时候一定要选“图片 仅网址”,这样输出的格式就是
{dede:imgtext='' width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img} 
       如果自定义字段名为:name,内容页前台这样调用:
<img src="{dede:field.name}"/>
       输出的是
<img src="{dede:img text=''width='270' height='129'}/uploads/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    代表连宽、高一起输出
       同样的列表页或首页用相应的标签套进去就可以了。
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

5.X版本新人近期热点问题整理 V1.7

查看完整版本: [-- FAQ1:安装或者使用DedeCMS的时候出现报错“DedeCms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错,如未安装本系统,请先运行安装程序,如果已经安装...

DedeCms教程:Ubuntu/Debian上安装 PHP 5.3, Nginx 和 PHP-fpm

  尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要...

DedeCMS V5.3 常用问题手册发布

DedeCMS V5.3 常用问题手册发布总共分为概念篇、安装篇、升级篇、整合篇、使用篇、销售篇、其他类几个部分,每个部分选了用户常见的一些使用问题,将其打包为CHM文件,提供大家下载阅读,并且手册会...

dedecms中一问一答式调用问答模块问与答简介调用问答系统代码

织梦dedecms中一问一答式调用问答模块问与答简介调用问答系统代码:{dede:sql sql="select dede_ask.id,dede_ask.title,dede_askanswer.c...

织梦DEDECMS{dede:freelist/}列表调用增加排序方式

织梦DEDECMS{dede:freelist/}列表调用增加排序方式当你用到自由列表的时候,会发现排序方式不全。比如我所需要用到 随机排序”rank“和按得分排序”scores“这里就没有。当然这两...

让跳转网址直接链接而非跳转的最简单方法

1、列表页的实现:/include/inc_arclist.php查找$row['arcurl'] = $this->GetArcUrl(在前面加上:if($row['redirecturl']...