主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > dedecmsV5.7自定義圖片字段調(diào)用方法

dedecmsV5.7自定義圖片字段調(diào)用方法

POST TIME:2017-10-26 10:24

正常情況下,在列表頁(也就是 {dede:list}標(biāo)簽)調(diào)用附加的圖片類型字段則會(huì)出現(xiàn)Fatal error: Call to a member function GetInnerText() on a non-object in /include/taglib/channel/img.lib.php”此類錯(cuò)誤,解決方案如下:

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


$innerTmp = $arcTag->GetInnerText();
將其修改為

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

這 樣一來,附加的圖片字段就可以正常調(diào)用了,不過調(diào)出來的并非純粹的圖片路徑,而是包含li標(biāo)簽的一大段代碼,這是因?yàn)檎{(diào)用附加圖片字段時(shí)解析了系統(tǒng)模板里 面的channel_article_image.htm造成的,打開/templets/system /channel_article_image.htm可以看到如下內(nèi)容:

  <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/]  或者是在文章頁調(diào)用的時(shí)候直接調(diào)用底層模板
{dede:field.字段名}
      <a class="" href='[field:linkurl/]' target='_blank'><img src='[field:imgsrc/]' [field:imgwidth /] border='0'/></a>
{/dede:field.字段名}
 即可調(diào)用到純粹的圖片路徑了。

另外要注意的是,如果{dede:list}里面無法取出附加字段,一般是因?yàn)閐ede_channeltype表中l(wèi)istfields字段中未添加附加字段名稱造成的。

如果圖片為空時(shí),調(diào)用會(huì)顯示“無圖片信息!”,我們讓他顯示暫無圖片,可以修改include/taglib/channel下面的img.lib.php

找到以下這句代碼

return "無圖片信息!";

替換成

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

當(dāng)無圖片時(shí)候就調(diào)用出來了暫無圖片。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266