魔扣论坛

魔扣源码论坛业务
查看: 646|回复: 1

[织梦教程] 织梦如何添加两张缩略图_织梦自定义图片字段

[复制链接]
  • TA的每日心情
    难过
    6 小时前
  • 签到天数: 2929 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745005
    贡献
    157749
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2020-9-9 00:43:13 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    织梦自定义图片字段 用法 实例:<img src="{dede:field.image1/}" >   要选择图片仅网址。(如图) 只选择图片是有格式存在的。不能像上面那样调用。

    遇到几个朋友在问:为什么在用自定义列表出来的图片字段不是正确的图片地址,而是类似于:
    {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
    这样的格式!
    非常明显,这样是不能正确显示的,这是自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数,其实现方式为:

    1.创建自定义函数
    打开 /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;
    }
    }
    2.函数调用方法
    本函数的调用方法为:
    [field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]
    比如:我们的自定义图片字段名为 imgurl ,那么调用方式有以下两种:
    [field:imgurl function='GetOneImgUrl(@me,0)'/] <!--调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />)-->
    [field:imgurl function='GetOneImgUrl(@me,1)'/] <!--只调用图片地址,一般可用于背景图嵌套-->

    【示例演示】
    1.模型字段添加
    进入网站,点击[核心]——[内容模型管理],点击“普通文章”的“更改”按钮,进入编辑界面,切换到“字段管理”选项,点击“添加新字段”
    创建好字段以后,我们在增加或编辑文档时候,那么就会有这个字段了,

    上传好你要显示的图片以后,保存即可。

    2.前台调用

    原本我们前台调用这个字段的方法,就是通过arclist标签的 channelid 与 addfields 两个参数来配合调用,这里不再重复的一一熬述。但大体的自定义字段的方法是这样的:
    {dede:arclist row='2' channeld='1' addfields='自定义字段1,自定义字段2'}
    底层模板 insertext
    {/dede:arclist}

    运用到我们刚才的这个函数,调用方法为:

    {dede:arclist row='5' orderby='id' channelid='1' addfields='imgurl'}
    < li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li>
    {/dede:arclist}复制代码

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    0

    主题

    256

    回帖

    512

    积分

    高级魔扣

    Rank: 4

    魔扣币
    256
    贡献
    256
    威望
    0
    发表于 2020-9-9 09:19:57 | 显示全部楼层
    山海可以阻隔彼此,却阻隔不了我的思念;距离可以拉开你我,却拉不开真挚的情谊,时间可以淡忘过去,却忘不了魔扣源码论坛永远的朋友。时光,带着美丽行走,那些过往,永远铭记。岁月为我沉淀下来的,是带着浓郁花香的美好。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表