dedecmsV5.7自定義圖片字段調用方法


正常情況下,在列表頁(也就是 {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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM