正常情况下,在列表页(也就是 {dede:list}标签)调用附加的图片类型字段则会出现Fatal error: Call to a member function GetInnerText() on a non-object in /include/taglib/channel/img.lib.php”此类错误,解决方案如下:

打开/include/taglib/channel/img.lib.php文件并找到


$innerTmp = $arcTag->GetInnerText();

将其修改为


$innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText());

这 样一来,附加的图片字段就可以正常调用了,不过调出来的并非纯粹的图片路径,而是包含li标签的一大段代码,这是因为调用附加图片字段时解析了系统模板里 面的channel_article_image.htm造成的,打开/templets/system /channel_article_image.htm可以看到如下内容:

<li> <a href='[field:linkurl/]' target='_blank'><img src='[field:imgsrc/]' [field:imgwidth /] border='0'/></a> <br /> <a href='[field:linkurl/]' target='_blank'>[field:text /]</a> </li>

将其修改为

[field:imgsrc/] 或者是在文章页调用的时候直接调用底层模板
{dede:field.字段名}       <a class="" href='[field:linkurl/]' target='_blank'><img src='[field:imgsrc/]' [field:imgwidth /] border='0'/></a> {/dede:field.字段名}
 

即可调用到纯粹的图片路径了。

另外要注意的是,如果{dede:list}里面无法取出附加字段,一般是因为dede_channeltype表中listfields字段中未添加附加字段名称造成的。

如果图片为空时,调用会显示“无图片信息!”,我们让他显示暂无图片,可以修改include/taglib/channel下面的img.lib.php

找到以下这句代码

return "无图片信息!";

替换成

return "<a href='javascript:()'><img width='503' height='411' src='/images/defaultpic.gif'></a>";

当无图片时候就调用出来了暂无图片。

 

AiteCms,企业模板快速建站专家,点击了解更多

转载自织梦模板教程(www.dede58.com

dedecmsV5.7自定义图片字段调用方法的更多相关文章

  1. DedeCMS织梦自定义图片字段调用出现{dede:img ..}

    做站过程中碰到这样一个问题,找到解决办法收藏分享:为什么在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于: {dede:img text='' width='270' height= ...

  2. [Effective JavaScript 笔记]第20条:使用call方法自定义接收者来调用方法

    不好的实践 函数或方法的接收者(即绑定到特殊关键字this的值)是由调用者的语法决定的.方法调用语法将方法被查找的对象绑定到this变量,(可参阅之前文章<理解函数调用.方法调用及构造函数调用之 ...

  3. DEDECMS首页,列表页调用自定义图片字段,只显示图片地址

    第一步:将自定义字段“图片”类型改为“图片(仅地址)”类型. 第二部:在{dede:arclist row='1' addfields='stu' titlelen='24' orderby='pub ...

  4. dede新增字段调用方法

    各位在使用{dede:channel }标签的时候,难免会遇到因为现在字段不能满足业务需求,需要新增的情况(具体怎么新增字段自行百度). 但是新增的字段通过DEDE的标签是不能直接使用的,现在博主介绍 ...

  5. mysql 自定义函数与自定义存储过程的调用方法

    存储过程:call  过程名(参数) 函数:      select  函数名(参数)

  6. scrapy爬取图片并自定义图片名字

    1   前言 Scrapy使用ImagesPipeline类中函数get_media_requests下载到图片后,默认的图片命名为图片下载链接的哈希值,例如:它的下载链接是http://img.iv ...

  7. UEditor 自定义图片视频尺寸校验

    UEditor支持单图.多图以及视频上传,编辑器配置项支持文件格式.文件大小校验,对于文件宽高尺寸校验暂不支持.这里记录一下自定义图片.视频尺寸校验过程,内容核心主要是扩展校验逻辑和增加自定义提示文本 ...

  8. dedecms列表页文章有图调用缩略图 无图留空或自定义图片的方法!

    默认情况下,织梦的文章列表页会调用出当前栏目下的文章列表,并且调用出每个文章的缩略图:如果文章本身就有图,会调用出一张小图,如果没有,则会显示默认的织梦图片.这种处理方式有时候比较影响美观,其实可以修 ...

  9. phpcms_v9 多图字段 内容页,首页,分页自定义字段调用

    phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu 1 内容页调用 {loop $shigongtu $r}      <img src= ...

随机推荐

  1. PhotoZoom的工具栏 图片放大不失真

    使用PhotoZoom能够对数码图片无损放大,备受设计师和业内人员的青睐,它的出现时一场技术的革新,新颖的技术,简单的界面,优化的算法,使得它可以对图片进行放大而没有锯齿,不会失真.本文为您一起来认识 ...

  2. nginx 日志配置不生效的问题

    log_format 有个默认的日志格式: log_format combined '$remote_addr - $remote_user [$time_local] ' ' "$requ ...

  3. 51nod 237 最大公约数之和 V3 杜教筛

    Code: #include <bits/stdc++.h> #include <tr1/unordered_map> #define setIO(s) freopen(s&q ...

  4. frp(升级版)教程

    注:之前的教程是按照官网文档亲自实践操作汇总而成的,所需的软件也是从官网下载的. 但是有一个问题,若是运行在有公网IP的frps程序被其他人所知道,他们就可以直接在他们电脑上运行frpc客户端, 简而 ...

  5. el-select 根据value查询其对应的label值

    <el-form-item label="库位" prop="goodsLocationId" > <el-col :span="1 ...

  6. selenium chrome.options禁止加载图片和js

    #新建一个选项卡 from selenium import webdriver options = webdriver.ChromeOptions() #禁止加载图片 prefs = { 'profi ...

  7. git pull 跟 fetch的区别

    今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这就碰到了个问题,也就是当clone一个项目下来的时候,如果master跟release分支有冲突,就不 ...

  8. Ajax得到JSON数据

    Ajax得到JSON数据

  9. windows服务器剪贴板不能共用的解决办法

    远程桌面无法使用剪贴板共享纯文本的解决方法========================================以下操作须在远程桌面上操作,本地机没用的!================== ...

  10. C/C++ Quick Sort Algorithm

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50255069 快速排序算法,由C.A. ...