今天降龍網絡在做小程序官網的時候要要用dede在列表頁實現一個效果:
我的思路是調取一個縮略圖當底圖,然后在自己添加一個字段放小程序的二維碼,想著很簡單就可以實現了,但是實踐的時候發現列表頁調取自定義字段圖片的時候,會自己多出來很多多余的代碼并不知直接調出圖片路徑,所以分享一下處理的過程以及方法。
正常情況下,在列表頁(也就是 {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
將所有代碼刪除并修改為
[field:imgsrc/] 即可調用到純粹的圖片路徑了。
另外要注意的是,如果{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'>";
當無圖片時候就調用出來了暫無圖片。
AM 09:00 ~ 12:00
PM 14:00 ~ 18:00
Tel 010-50933590
Hp 18701620736
設計優勢
獨立的設計團隊 帶給您全新的視覺體驗
功能開發
強大的技術實力,完成您想要的任何功能
售后服務
完善的售后服務,解決您在使用過程中遇到的問題