用戶自定義數(shù)據(jù)方法 {diy}
作用:對(duì)頁面自定義數(shù)據(jù)進(jìn)行創(chuàng)建和管理
參數(shù):
id 相對(duì)于當(dāng)前模板的唯一識(shí)別號(hào)僅限英文和數(shù)字,如果該DIY是全局的 則必須以 "global_"開頭
name 對(duì)該diy 快進(jìn)行命名,以簡明易懂為原則
type diy 類型,目前可選類型有一下6類,其中 news、show、job、team、about 被并稱為內(nèi)容模塊,可在后期在前臺(tái)相互轉(zhuǎn)換類型
static 靜態(tài)模塊
news 文章模塊
show 作品模塊
job 人才招聘
team 團(tuán)隊(duì)成員
about 關(guān)于我們
minnum[可選] 最小數(shù)據(jù)數(shù) 默認(rèn)為1
maxnum[可選] 最大數(shù)據(jù)數(shù) 默認(rèn)為1
picwidth[可選] 指定圖片裁剪寬度
picheight[可選] 指定圖片裁剪高度
datestyle[可選] 指定日期/時(shí)間顯示樣式
案例一[type="static"]:
{diy id="thisid" name="這是名稱" type="static" minnum="2" maxnum="10" picwidth="500" picheight="100" datestyle="Y-m-d h:i"} <ul> [loop] [order1 picwidth="600" picheight="200"] <li><img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]">[$title]<span>[$dateline]</span></li> [/order1] [order/3 datestyle="Y年m月 h點(diǎn)i分"] <li class="mr0"><img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]">[$title]<span>[$dateline]</li> [/order/3] <li><img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]"></li> [/loop] </ul> {/diy}
說明:
1、以上例子中是一個(gè)靜態(tài)DIY模塊,允許用戶最多上傳10張圖片,如果沒有上傳圖片的話界面上會(huì)有兩個(gè)內(nèi)容占位。
2、第一張圖片以寬度 600 高度 200 來顯示。
3、順序是 3 的倍數(shù)的圖片的 li 容器應(yīng)用 "mr0" 類 并以 "Y年m月 h點(diǎn)i分" 的樣式里顯示發(fā)布時(shí)間
4、其余的圖片按照 diy 定義的參數(shù)來顯示
案例二[type="news"]:
{diy id="thisid" name="這是名稱" type="news" minnum="2" maxnum="10" picwidth="500" picheight="100" datestyle="Y-m-d h:i"} <h3><a href="[$moreurl]">[$moretitle] / [$moresubtitle]</a></h3> <ul> [loop] <li> <img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]"> <span>[$title]</span> <p> <a href="[$caturl]" target="_bank">欄目:[$cattitle]<em>[$catsubtitle]</em></a> <span>日期:[$dateline]</span> </p> </li> [/loop] </ul> {/diy}
說明:
1、以上例子中是一個(gè)新聞模塊[news],允許用戶最多調(diào)用10篇文章,如果沒有足夠的文章數(shù)量的話會(huì)有兩個(gè)內(nèi)容占位。
2、圖片以寬度 500 高度 100 來顯示。
3、[$moreurl] [$moretitle] [$moresubtitle] 分別代表 當(dāng)前DIY 塊的 總欄目鏈接和標(biāo)題、副標(biāo)題
4、[$caturl] [$cattitle] [$catsubtitle] 分別代表 當(dāng)前循環(huán)得到的單位數(shù)據(jù)的所屬欄目鏈接和標(biāo)題、副標(biāo)題
注意:
[loop] 指的是將 diy 返回的數(shù)據(jù)進(jìn)行數(shù)組遍歷
[orderX] 指的是指定下標(biāo)的數(shù)據(jù)的顯示樣式
[order/X] 指的是指定數(shù)字倍數(shù)為下標(biāo)的數(shù)據(jù)的顯示樣式
如果 [orderX] 定位的數(shù)據(jù)下標(biāo)和 [order/X] 定位的數(shù)據(jù)下標(biāo)相同,則 [orderX] 具有優(yōu)先性
例子中使用到的 [$pic] [$title] [$dateline] 均指的是當(dāng)前 DIY 模塊可用的字段 其中 [$dateline] 是按照 [order] 中或者是{diy} 中聲明的datestyle 參數(shù)值來顯示時(shí)間樣式([order] 中聲明的屬性具有優(yōu)先性)
[$picheight] 和 [$picwidth] 是用來裁剪圖片尺寸的,如果數(shù)據(jù)中沒有圖片可省略,如果{diy}中和[order]中均有聲明則按照就近原則才有層級(jí)最近的聲明
實(shí)際上 可以在[order]中聲明的參數(shù) picheight picwidth datestyle 一樣可以在 [loop] 中聲明,這在一個(gè) DIY 里面存在多個(gè) [loop] 的時(shí)候有用到。只不過這種情況是極少的
diy 方法中的公共可用字段
公共可用字段(所有type 類型可用)
[$title] //標(biāo)題
[$summary] //描述
[$pic] //圖片路徑
[$url] //鏈接
[$moretitle] //欄目(更多)名稱
[$moresubtitle] //欄目(更多)副標(biāo)題
[$moreurl] //欄目(更多)鏈接
[$<pic>] //img 標(biāo)簽簡寫,原形:<img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]" />
[$<apic>] //帶鏈接的圖片簡寫,
原形:<a href="[$url]" target="_block"><img src="[$pic]" alt="[$title]" width="[$picwidth]" height="[$picheight]" /></a>
靜態(tài)DIY(static) 可用
[$title1]
[$title2]
[$title3]
[$summary1]
[$summary2]
[$summary3]
[$pic1]
[$pic2]
[$pic3]
[$url1]
[$url2]
[$url3]
動(dòng)態(tài)DIY(news show team job about)可用
[$cattitle]
[$catsubtitle]
[$caturl]
注意事項(xiàng)
1、每個(gè)DIY返回?cái)?shù)據(jù)可以被最多遍歷([loop])9次,如:
{diy type="static" id="test1" name="測試1" maxnum="10"} [loop] <div style="color:#BEE709"> <div>[$title]</div> <P>[$summary]</P> </div> [/loop] [loop1] <div style="color: #F00609"> <div>[$title]</div> <P>[$summary]</P> </div> [/loop1] [loop2] <div style="color: #0B1EEB"> <div>[$title]</div> <P>[$summary]</P> </div> [/loop2] <!--[loop3]...[/loop3]...--> {/diy}
2、每個(gè) [loop] 里面最多可以聲明 12 個(gè) [orderX]
3、每個(gè) [loop] 里面最多可以聲明 9 個(gè) [order/X]
4、{diy}、[loop]、[order] 里面都分別可以聲明 picwidth picheight datestyle 屬性,并且按照從里到外的優(yōu)先級(jí)進(jìn)行調(diào)用