POST TIME:2017-11-13 14:48
在默認的自定義圖片字段模型調用時,一般調用出來是: {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}這樣的形式。 非常明顯,這樣是不能正確顯示的,這是自定義圖片字段的處理方式造成的。要解決這個問題,我們必須得創(chuàng)建一個自定義函數。這里我從新建模型到自定義字段的使用來舉例說明下怎么直接調用圖片地址。
假如我們要制作如下效果圖中的幻燈片,方便在后臺直接更改圖片。而使用廣告圖片顯然沒法實現,我這里用的是新建一個模型,然后簡歷一個這個模型的欄目,再以發(fā)布文章的形式把圖片添加進去,這個整個流程來說下。
一、新建一個模型,這個模型下共新添加兩個字段:大圖、小圖。至于鏈接地址我直接使用的是跳轉地址。其他設置默認即可。
大圖、小圖字段都這樣添加
二、新建一個欄目,模型選擇剛才新建的模型”幻燈片“
最好設置為隱藏該欄目
三、設置好以后在該欄目下新建需要顯示的文檔數目即可。我這里需要7個大圖,那么我就建立了七個文檔。
四、在建立文檔的時候填寫的方法如下圖,我這里因為幻燈片點擊需要調整到其他頁,我沒用新的字段,直接用的跳轉地址更方便。
注意上圖填寫
五、下面就是開始調用了,我是用在頭部的。
如果直接用一般的調用方法,直接用調用字段名的方法是顯然就會出現如開頭所說的現象。下面我們就來開始修改下程序,以便可以直接調用圖片地址:
六、創(chuàng)建自定義函數
打開 /include/extend.func. 文件(注:這個文件就是系統預留的自定義函數接口文件,主要用于二次開發(fā)用的。如果你是老版本,默認沒有這個文件,自己創(chuàng)建一個PHP文件即可),在最下面的?>上一行加入以下函數代碼:(如果結尾沒有?>那就直接在最下面添加)
七、下面就可以開始調用圖片地址了。
[field:自定義圖片字段名 function="GetOneImgUrl(@me,顯示類型)"/]
比如:我們的自定義圖片字段名為 datu和 xiaotu,
只舉例調用datu字段的方法,那么調用方式有以下兩種:
[field:datu function='GetOneImgUrl(@me,0)'/] 調用圖片的信息,自動調用寬度和高度(已包含Html代碼的<img />)
[field:datufunction='GetOneImgUrl(@me,1)'/] 只調用圖片地址,一般可用于背景圖嵌套
八、具體到調用代碼里面的調用方法就是:
{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}
<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>
{/dede:arclist}
注意:上面藍色的為要調用的字段要寫進去,紫色為模型的顏色。
至此全部修改完畢。