destoon模板標簽種類
destoon采用的是萬能循環(huán)模板標簽,一套循環(huán)標簽,只要修改其中的參數(shù)就可以實現(xiàn)數(shù)據庫中任何內容的調用,相比其它的php開源程序來說先進的不是一點點。
調用文章,調用商品,調用供求,調用網站分類,調用網站會員等等只要是數(shù)據庫能訪問到的內容都是同一個套標簽調用。
當然destoon為了方便調用,對導航菜單,分類,地區(qū)數(shù)據的調用單獨封裝了函數(shù)調用標簽。
destoon的默認調用標簽一共有四種,下面我們就來歸類下:
一、萬能tag()標簽
注:改變tag()函數(shù)中的傳入參數(shù),可以輕松實現(xiàn)調用數(shù)據庫中的任何表任何內容
二、導航菜單 $MODULE 標簽
注:destoon封裝的一個專門調用網站菜單導航的函數(shù)
三、分類 get_maincat(0, $mid, 1) 標簽
注:專門用來調用欄目分類的標簽
四、地區(qū) get_mainarea() 標簽
注:專門調用地區(qū)的標簽
以上四種是destoon自帶的標簽,如果您對destoon足夠了解的話,是可以輕易擴展出任何調用標簽的。
注:
本節(jié)課程重點是了解destoon的標簽種類
方便以后在模板制作時知道什么什么該用什么標簽
destoon標簽引擎原理
在學習destoon四大調用標簽前,我們先來了解下destoon的標簽引擎的解析原理。
在destoon模板中,只要是循環(huán)的內容都是 通過 loop 實現(xiàn)的,格式如下:
#
{loop $tags $i $t}
循環(huán)區(qū)塊代碼
{/loop}
#
loop 標簽的開頭是 {loop 參數(shù)1 參數(shù)2 參數(shù)3 },結尾是 {/loop}
loop的三個參數(shù)
loop 標簽一共有三個參數(shù),參數(shù)1和參數(shù)3是必須參數(shù),參數(shù)2是可選參數(shù)
例:{loop 參數(shù)1 參數(shù)2 參數(shù)3 }
參數(shù)1:
必須是一個數(shù)組變量,為什么必須是一個數(shù)組呢?懂點javascript 和php的同學都知道,循環(huán)必須要數(shù)組才能循環(huán)出內容呀! 這個數(shù)組可以是一個一維數(shù)組,也可以是一個二維數(shù)組。我們從數(shù)據庫調出來的數(shù)組都是二維數(shù)組。
參數(shù)1我們一般用 $tags 表示,其實是可以用任意變量表示的,如:$a,$b。 一維數(shù)組和二維數(shù)組之間的區(qū)別,在參數(shù)時我們再介紹。
參數(shù)1的數(shù)組是我們通過四大調用標簽,或者自己封裝的函數(shù)調用出來的,比如我們 使用 {loop $tags $i $t} 調用數(shù)據,那么 $tags 這個變量是必須在loop標簽之前申明,賦值。如果$tags 變量是空的,或者不為數(shù)組,循環(huán)結果都是空的,沒有任何內容。
參數(shù)2:
參數(shù)2是一個可選參數(shù),可要可不要。參數(shù)2是一個自增變量,從0開始,一般用 $i 表示,也可以是其它的任意變量,如 $k, $j。
它的用處就是當我們在列中需要在每篇文章前面顯示一個 1 2 3 4 ..... 10 這樣的序號時,或者我們需要判斷 每隔一條 加一條橫線,或加紅,或換不同樣式時,作判斷時使用。
在模板中 用{$i}調用,具體,我們后續(xù)會用專門的一節(jié)課來講解。
參數(shù)3:
參數(shù)3和參數(shù)1一樣是必須參數(shù),少了就會報錯。
參數(shù)3的作用是將loop循環(huán)出來的每行數(shù)據組裝賦值給一個變量,用來在循環(huán)模板中調用展示。
參數(shù)3通常用 $t 表示,可以換成其它任何變量,如 $c , $v等。
當我們參數(shù)3使用 $t 時,循環(huán)模板中調用數(shù)據時就只能使用 {$t[字段名]},如調用標題 {$t[title]}。
參數(shù)3為$v 時間,那么循環(huán)模板中就只能使用 {$v[字段名]},如調用標題 {$v[title]}。
參數(shù)1 為一維數(shù)組和二維數(shù)組的區(qū)別:
參數(shù)3我們詳解了循環(huán)模板中調用數(shù)據字段的方法,其實這是參數(shù)1為二維數(shù)組時的調用方法,如果為一維數(shù)組時就不能這么調用了
只能用 {$t} 這樣的調用方法。
一維數(shù)組,二維數(shù)組的概念大家如果不了解的話,可以百度下 php數(shù)組,了解下。不過這并不是多重要的東西,我們模板中所有的調用大都是基于二維數(shù)組的調用,一維調用基本都是在二開個性化功能使用,能二開的人這所有的問題都不是問題了。
注:
本節(jié)課程主要掌握 loop標簽的三個參數(shù)
初識tag()
第一步:
tag() 函數(shù)將數(shù)據庫表中的數(shù)據按我們的要求調用出來,組裝成一個二維數(shù)組,并賦值給變量 $tags
代碼如下:
<!--{php $tags=tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc&template=null");}-->
第二步:
loop 將 $tags 二維數(shù)組循環(huán)出來,賦給循環(huán)模板
代碼如下:
{loop $tags $i $t}
<li><a href="{$t[linkurl]}">{$t[title]}</a></li>
{/loop}
第三步:
模板將數(shù)據以網頁形式展現(xiàn)出來。
注: 第一步的 $tags=tag( 中的 $tags 與第二步中的 {loop $tags 中$tags 保持一至,變量名一模一樣,如可以變成,$a=tag(, {loop $a
課程提示:
學一樣東西,如果先了解他的了運行原理,學起來就會事半功倍。如果有一定基礎的同學,看了我這三節(jié)課,再看看destoon官方模板手冊,基本已經可以做模板了。
細心的朋友,可能會發(fā)現(xiàn),為什么destoon默認模板中的標簽調用方法和我上面講解的不一樣呢?
我們來看一段destoon默認首頁的標簽
<!--{tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc")}-->
是不是和我們的有區(qū)別呢? 這個就涉及到destoon模板標簽的兩種方式了,默認方式和自定義方式。
tag()的兩種使用方式
下面我來看兩段調用標簽代碼
一、destoon默認模板中的求購信息調用
二、自己寫的調用代碼
{loop $tags $i $t}
{if $datetype} {timetodate($t[addtime], $datetype)}{/if}{if $showcat}[{$t[catname]}] {/if}{$t[title]}
{/loop}
這兩個代碼的都是調用最新的求購信息,咋看起來差別之 么大呢?
第二段代碼明顯比一段好懂,上面是調用語句,下面是循環(huán)模板,大部分開源程序的程序調用都是這么干的。
很多同學在初次接觸destoon模板時,都覺得難學的原因就是destoon默認模板都是采用的第一種模式,大部分人看了標簽找不到循環(huán)模板在哪里,所以無從下手修改。
這兩段代碼的最大區(qū)別就是,第一段的循環(huán)模板不在當前模板中,第二段是在當前模板,這也就是destoon tag()標簽的兩種調用方式了。
第一種方式:循環(huán)模板不在當前頁面
這種方式是通過加載模板目錄中的 tag/ 目面的list-**.htm 標簽模板實現(xiàn)調用。
在tag()函數(shù)中有一個 &template 參數(shù),用來加載tag目錄下指定文件名的標簽模板,如 &template=list-buy 表示加載的是tag目錄下的 list-buy.htm 文件。 如果我們在tag()中不傳&template參數(shù),就默認會加載tag目錄下的list.htm。
我們上面這段標簽沒有傳&template 參數(shù),就表示是加的默認list.htm 文件。
我想destoon官方默認模板之所以都不在當前模板中加載循環(huán)模板標簽,是因為作為b2b門戶系統(tǒng),頁面多,需要做到盡可能的少寫代碼,讓代碼盡可能多的實現(xiàn)重用。我在此的建議是,如果大家的循環(huán)模板是很多頁面共用的,盡量放到tag下面,如果只是調用一次就用我們的第二種方法寫在當前頁面。
第二種方式:循環(huán)模板標簽寫在當前模板中
寫在當前模板中的好處是維護起來更加方便,對于不懂destoon標簽機制更容易看懂。
寫在當前的方法是 在tag( 前面加上 php $tags= ,修改結果:
并且必須傳入 &template參數(shù),設置值為 null,修改結果為:&template=null
方式2的原理是把tag()調用出來的內容賦值給 $tags 變量,然后用loop將$tags的內容循環(huán)出來給模板標簽展示。在第二課我們已解釋過loop了,這里就不做講解了。
本章小結:
兩種方式各有優(yōu)劣,使用第二種方式時某些默認參數(shù)傳進去是沒有用處的,比如分頁參數(shù)。具體我們會第五課做詳細講解。
tag()參數(shù)詳解
在了解destoon tag()的參數(shù),可以先打開destoon官方的 標簽調用手冊,便于我們接下來的學習。
這是一個 destoon 默認首頁模板index.htm中的標簽
<!--{tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc")}-->
在tag(" 這里面的都是參數(shù)"),傳輸參數(shù)的方式是: &參數(shù)名=參數(shù)值,第一個參數(shù)省略&符號。
tag()的參數(shù),分類必須參數(shù)和可選參數(shù)兩種
必須參數(shù):
moduleid:
示例: moduleid=6,表示調用的是求購頻道的內容,調用其它頻道的內容只需要將6改成對應的頻道id即可,頻道Id可以destoon后臺的系統(tǒng)維護,模塊管理中查看。
table:
示例:table=buy_6,和moduleid=6效果是一樣的,也表示調用的是求購頻道的內容,不同的是table傳的值直接是表名,并且不帶表前綴,如果要調用其它表的內容只需要將buy_6替換成對應的表名即可。
注: tag()的必須參數(shù)一共就moduleid,table兩個,而且這兩個是二選一,只能同時使用其中的一個,moduleid用來調用各大頻道主表的內容,如果要調用非頻道主表的內容就得使用table直接傳表名了。
可選參數(shù):
condition:
示例:&condition=status=3,conditon使用度和moduleid是幾乎一樣的,只要是tag()標簽中都會傳這個參數(shù),這個參數(shù)的作用是將傳入的值直接作為sql條件進行數(shù)據庫內容篩選。比如我們示例中的 &condition=status=3,php解析后就是 where status=3。、
condition是可以無限傳條件的,有多少都可以往這里傳,比如:&condition=status=3 and level>0 and vip>0 and itemid>100 and itemid<1000
這是傳的標準的sql語句。
如果您是小白,不懂啥是sql。舉個簡單的示例:我們要調用供應頻道的已審核的信息,并且這信息要是推薦的,還得是vip會員發(fā)布的。那么首先我們構建tag標簽語句,<!--{tag("")}-->,然后傳入第一個參數(shù) moduleid=5,供應頻道的id是5;當然也可以用table=sell_5替代。
<!--{tag("moduleid=5")}-->
第二步傳入condition篩選我們需要要的數(shù)據
<!--{tag("moduleid=5&condition=")}-->
條件一:已審核的信息,換成sql語句就是 status=3
<!--{tag("moduleid=5&condition=status=3")}-->
條件二:推薦的信息,換成sql語句是 level>0,如果是調用指定推薦級別的,如推薦2的, level=2
<!--{tag("moduleid=5&condition=status=3 and level>0")}-->
因為level 是第二個條件了,所以我們得用and來連接,并且and 前后都必須有空格,沒有的話就會報錯,condtion的值,從第二個條件開始都要用and來連接。
條件三:vip會員發(fā)布的信息,換成sql語句就是 vip>0,如果要指定vip級別,如1 就是 vip=1
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0")}-->
通過本示例,相信大家已經學會如何信condition傳值調用我們想要的信息了。
常用的一些condition條件:
已審核:status=3, 推薦的:level>0,vip會員的:vip>0, 有縮略圖的:thumb<>'', 指定會員組的:groupid=6
pagesize:
怎么傳條件我們已經學會了,但是我們調出來的內容還得限制數(shù)量不是嗎?pagesize就是用來指定數(shù)量的。
示例:
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20")}-->
調多少條就寫&pagesize=20 是多少就行了。這個參數(shù)沒啥好解釋的。
另外pagesize 有一個搭配使用的參數(shù)叫 offset,寫法是&offset=10, 作用是從第一幾條開始調用。
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10")}-->
表示從10條開始調用,往后調20條信息出來。
提示:pagesize 如果不傳,tag()會員默認調用10條信息。
order:
tag()的排序參數(shù),用法:&order=addtime desc,edittime desc,可以多個排序字段連接,用,隔開。
示例:
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc")}-->
常用排序方法:
添加時間降序:addtime desc,倒序:addtime asc
修改時間降序:edittime desc ,倒序: edittime asc
推薦級別降序:level desc,倒序:level asc
vip級別降序:vip desc,倒序:vip asc
提示:order如果不傳,就會默認使用mysql的排序,destoon是沒有封裝order默認排序的。
template:
標簽模板參數(shù),指給當前tag()調用出來的內容賦給給一個循環(huán)模板展示,使用方法:&template=list-sell
標簽模板存放在模板目錄的 tag目錄下面,我們要調用哪個模板就&template=模板文件名, 文件名不帶.htm
示例:
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc&template=list-sell")}-->
不傳template參數(shù),tag()函數(shù)會默認調用tag目錄下的list.htm模板。
不調用標簽模板,在當前頁面自定義模板,template的值設為null: &template=null
然后標簽語句也得做相應的修改,用loop在當前頁面循環(huán),具體請看上一節(jié)課的詳細介紹。
fields:
fields指查詢的字段,默認為*。可以傳遞例如 fields=title,addtime,但是一般情況下無需傳遞,Destoon獨有的標簽緩存機制會自動緩存查詢結果,不必擔心效率問題。
以上是官方的介紹,看了也能明白了,就是循環(huán)模板中要調用哪些字段,就把哪些字段用,隔開傳給fields。
示例:
<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&lields=title,addtime,&order=addtime desc,edittime desc&template=list-sell")}-->
以上的參數(shù)是比較重要的一些可選參數(shù),下面部分參數(shù)都是一些不常用的,解釋就比較簡單了,大家請自行研究實驗。
catid:
調用指定分類下的信息,用法&catid=10
areaid:
調用指定地區(qū)的信息,用法:&areaid=1, 一般用來調用當前分站的信息,如:&areaid=$cityid
showcat:
需要調用當前信息的分類名稱和分類連接時傳入,用法:&showcat=1 showcat的值只能是1
然后標簽模板中調用 {$t[caturl]} 分類連接,{$t[catname]} 分類名稱
showpage 和 page:
tag()自帶的分頁參數(shù),showpage和page必須一起使用才能正常分頁,使用方法: &showpage=1&page=$page, 參數(shù)值是固定的。
然后在標簽模板中傳入 {$pages} 即可實現(xiàn)分頁。
提示:tag()使用showpage和page時,必須使用標簽模板,template的值不能為null,
length:
控制標題長度用的,用法:&length=20,表示標題長度為20個字符,10個漢字。
debug:
debug參數(shù)用于調試標簽,例如傳遞&debug=1, 系統(tǒng)將輸出標簽構造成的SQL語句,以便驗證標簽寫法是否正確,不需要調試的標簽不用加此參數(shù)。
自定義參數(shù):
自定義參數(shù)只能在標簽模板方式下使用,在當前頁面自定義循環(huán)模板是無效的。
使用方法: &參數(shù)名=參數(shù)值,如:&dtmoban=123456, 在標簽模板中使用 {$dtmoban} 調出的值便是 123456
本節(jié)小結:
本節(jié)課主要掌握destoon tag()函數(shù)的常用自定義參數(shù)。
但是同學們在做模板時經常會遇到參數(shù)傳值造成頁面出錯,那么我們如何給參數(shù)正確的傳值呢?下節(jié)課我將為大家專門講解。
給tag()參數(shù)正確傳值方法
給tag()參數(shù)傳值的三種方式
一、傳數(shù)字
傳數(shù)字是最簡單的,直接在參數(shù)的等于號后面寫上要傳的數(shù)字就行了,如:&catid=1205
二、傳文字(字符串)
傳文字類型的字符串,需要給文字加上''(單引號),如:&title='dt模板堂'。
字符串類型的值,在tag()自帶的參數(shù)只有 &condition 的值里會用到,其它參數(shù)都用不上。
示例:
<!--{tag("moduleid=5&condtion=status=3 and title like '%dt模板堂%'&pagesize=10&order=addtime desc")}-->
三、傳變量
傳變量有三種情況
1、變量值為數(shù)字
例如我們有一個變量:$catid = 1025; 這個變量是在php里面申明的,或者從url中獲取到的。
tag()中傳值方法: &catid=$catid
就像傳數(shù)字一樣,直接將變量寫到等于號后面就好了。
2、變量值為字符串
例如我們有一個變量:$kw = 'dt模板堂';
tag()中傳值方法: &condition=title like '%$kw%'
字 符串傳只有在condtion參數(shù)的值里會用到
3、變量名為二維
例:我們有一個項目,先要從分類表里調出當前頻道的頂級分類,然后再循環(huán)調出每個分類的子分類
代碼如下:
<!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
{loop $tags $i $t}
<li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
{/loop}
通過上面的代碼,我們已成功調出頂級分類了,有過其它cms模板標簽調用的小伙伴一定,需要調出子分類,需要在大循環(huán)里再把分類調用代碼再小循環(huán)一次,并且把小循環(huán)的條件中分類上級id改成大循環(huán)中獲取的 分類id。
我們來看頂級分類調用中condition的值中我們使用prarentid=0,表示調用prarentid值為0的分類,也就是頂級分類。
如果我們調出某個頂級分類下面的子分類,只需要把這個0改成對應的頂級分類的id就行了。
現(xiàn)在我們獲取的一大分類的id是一個變量 $t['catid'],按照我們的思路將調用代碼復制一遍,插入循環(huán)中,并且把prarentid=0改成prarentid=$t['catid']
代碼如下:
<!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
{loop $tags $i $t}
<li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
<!--二級分類循環(huán)開始-->
<!--{php $sub=tag("table=category&condition=parentid=d=$t['catid'] and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
{loop $sub $k $v}
<li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>
<!--二級分類循環(huán)結束-->
{/loop}
{/loop}
改好了保存到模板里,刷新下頁面,是不是報錯了。
這是因為我們在傳入二維變量作為值時,沒有使用php連接符的原因,原理我們這里就不解釋了,做模板不要求我們會php。
我們只需要將代碼修改下
parentid=d=$t['catid'] 改成 parentid=d=".$t['catid']."
這樣就不會報錯了,正常調出子分類。
<!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
{loop $tags $i $t}
<li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
<!--二級分類循環(huán)開始-->
<!--{php $sub=tag("table=category&condition=parentid=d=".$t['catid']." and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
{loop $sub $k $v}
<li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>
<!--二級分類循環(huán)結束-->
{/loop}
{/loop}
特別注意: 如果$t[catid]的變量值不是數(shù)字是字符串,得加上加''單引號,修改結果: parentid=d='".$t['catid']."'
本章小結:
本節(jié)課的要點是傳變量時的三種情況,變量為二維時記得加連接符,變量值為字符串要加單引號 ''。
到了這里tag()講解也就算完畢,接下來課程我們再學習下其它三個標簽函數(shù)。
$MODULE詳解
其實菜單調用是固定的一個方法,直接從默認模板header.htm中把代碼復制過來,換個模板就行了。
下面就是我從默認模板復制過來的菜單調用代碼,唯一要注意的就是如何判斷高亮。
<li{if $moduleid<4} class="menuon"{/if}><a href="{$MODULE[1][linkurl]}"><span>首頁</span></a></li>
{loop $MODULE $m}{if $m[ismenu]}<li{if $m[moduleid]==$moduleid} class="menuon"{/if}><a href="{$m[linkurl]}"{if $m[isblank]} target="_blank"{/if}><span{if $m[style]} style="color:{$m[style]};"{/if}>{$m[name]}</span></a></li>{/if}{/loop}
通過以上代碼我們看出,首頁的連接是靜態(tài)的,不能通過循環(huán)調出。 判斷首頁高亮的方法是 {if $moduleid<4} class="menuon"{/if},moduleid小于4。
在$MODULE 的loop循環(huán)中,我們要注意的一點是,緊連接loop的是{if $m[ismenu]},功能是判斷哪些哪些模塊允許作為導航菜單調用,如果不加就會把所有的模塊名稱都調出來。
另外注意的一點,就是高亮判斷 {if $m[moduleid]==$moduleid} class="menuon"{/if}
是否新窗口打開判斷 {if $m[isblank]} target="_blank"{/if}
這個東西實在是太簡單了,都沒啥解釋的,會點模板制作的同學,一看就懂了。
get_maincat()分類調用方法 get_mainarea()詳解
get_maincat()是destoon系統(tǒng)封裝好的一個調用分類的函數(shù)
調用方法為:
{php $maincat=get_maincat(參數(shù)一,參數(shù)二,參數(shù)三);}
{loop $maincat $k $v}
<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>
{/loop}
參數(shù)詳解:
參數(shù)一、要調用的分類上級id,如果調用頂級,則填0
參數(shù)二、模塊id,如果是在網站首頁調用分類,必須指定id,如果是在頻道頁面調用分類,使用$moduleid,表示調用當前頻道的分類。
參數(shù)三、推薦級別,指要調用分類的推薦級別,該級別在后臺每個模塊管理下面的分類管理里設置,默認為1
注:參數(shù)一,二為必填參數(shù),參數(shù)三可選,不填則表示不限制調用的級別。
在destoon每個頻道的分類列表頁面官方已經在php中給我引入了get_maincat()
所以我們調用時,直接使用:
{loop $maincat $k $v}
<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>
{/loop}
get_maincat()調用小技巧
給參數(shù)一傳入動態(tài)變量$catid,便可實現(xiàn)接收url中的catid參數(shù),實現(xiàn)動態(tài)調用子分類,在分類頁面官方已經封裝好了,所以直接使用
{loop $maincat $k $v}
<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>
{/loop}
便可實現(xiàn)調用當前分類下的子分類。
當前分類高判斷:{if $v[catid]==$catid} class="高亮樣式"{/if}
get_mainarea()是destoon封好的一個用于調用地區(qū)數(shù)據的函數(shù)
get_mainarea()只有一個參數(shù),
get_mainarea(參數(shù)一)
參數(shù)一:上級地區(qū)id,調用頂級地區(qū)(省份),填寫0,調用其它地區(qū)填寫指定地區(qū)id,調用當前分站地區(qū)下面的地區(qū),填寫$cityid。
調用方法:
{php $mainarea=get_mainarea(0);}
{loop $mainarea $i $v}
<a href="{$MOD[linkurl]}search.php?areaid={$v[areaid]}" rel="nofollow">{$v[areaname]}</a>
{/loop}
模板屬性:
地區(qū)名:{$v[areaname]}
地區(qū)連接:{$MOD[linkurl]}search.php?areaid={$v[areaid]},如果是在首頁調用或要連接到指定頻道的地區(qū)內容,請使用{$MODULE[模塊id][linkurl]}search.php?areaid={$v[areaid]}
注意:
地區(qū)的連接地址是連接到search.php搜索頁面篩選的,如果要在當前頁面篩選需要對當前頁面進行二次開發(fā)。
destoon常量全局變量說明及使用
什么是destoon常量?
destoon常量是指destoon官方的開發(fā)者在開發(fā)時封裝在destoon程序中的一些系統(tǒng)設置參數(shù)
這些參數(shù)是固定的,我們是不能修改的,也不需要去修改。(PS:只要你牛掰,系統(tǒng)全改了也行)
比如我們的網站首頁地址:DT_PATH,站點安裝目錄路徑:DT_ROOT,風格目錄網址:DT_SKIN等。
常量怎么使用?
常量的使用辦法很簡單
在php中使用,直接 使用:DT_ROOT
在模板中使用,加上花括號即可,如:{DT_ROOT}
destoon模板制作時常要用到的常量主要有三個:
站點首頁網址:{DT_PATH}
風格目錄網址:{DT_SKIN}
VIP名稱:{VIP}
至于其它的常量,都是在二次開發(fā)時php文件中才用到的,我們模板小白不用搭理它們。
什么是destoon系統(tǒng)變量
destoon系統(tǒng)變量就是destoon后臺一些設置參數(shù),官方程序大牛給我們封裝成了系統(tǒng)變量,讓我們能小白樣的調用。
系統(tǒng)變量的調用方法是:
花括號,$符號,變量名稱;PS:destoon中花括號是萬能的,所有的標簽調用都是用{}包起來的。
示例:{$DT_IP} 當前訪問者的ip地址
destoon系統(tǒng)變量的分類
destoon系統(tǒng)變量主要有以下幾類:
系統(tǒng)封裝變量:
這些變量是destoon開發(fā)者封裝在php中,通過程序獲取然后賦值給變量,讓我們在模板中能使用簡單方法調用。
如:
當前時間:{$DT_TIME},當前IP:{$DT_IP},當前網址URL:$DT_URL等等。
提示:系統(tǒng)變量是不能通過網站后臺設置和修改的。
網站設置變量:
用來調用destoon后臺網站設置中的設置參數(shù),被destoon開發(fā)大牛封裝成了一個數(shù)組 $DT
調用方法:{$DT[參數(shù)名稱]},參數(shù)名稱獲取方法:參考前輩筆記,標簽手冊,如果沒有,打開后臺網站設置,你要調用哪個設置的值,用右健查看網頁元素,看他的input的name 值是多少。
我們看到的name值定是 setting[telephone],我們只要[]中的單詞,復制替換到{$DT[]}中
于是{$DT[telephone]},成功將網站設置里面的客服電話號碼調用了出來。
擴展功能模塊變量:
和網站設置變量的區(qū)別就是,這是擴展模塊的設置,封裝的數(shù)組是,$EXT
調用方法和網站設置相同: {$EXT[參數(shù)名稱]}
當前模塊設置:
當前模頻道的模塊設置調用,使用方法參考網站設置。
封裝數(shù)組:$MOD
只能在頻道下調用,首頁,列表,內容,搜索調用,在網站首頁不能使用。
示例: {$MOD[linkurl]} 當前頻道連接
系統(tǒng)模塊信息變量:
調用的是后臺系統(tǒng)設置,模塊管理中的模塊信息,所有可調用的字段都存儲在destoon_module表里。
封裝數(shù)組:$MODULE
調用方法:{$MODULE[模塊id][字段]}
示例:{$MODULE[5][name]} 供應頻道名稱
當前登錄會員信息:
調用當前登錄會員的相關信息,變量名稱以 $_開頭
當前會員組權限信息:
調用當前會員所在會員組的相關設置信息,
封裝函數(shù):$MG
調用方法:{$MG[參數(shù)名稱]}
示例:{$MG[groupname]} 當前會員組名稱
注: destoon其它還封裝一些設置數(shù)組,具體請參考手冊,因為在模板制作中不需要使用到,這里就不一一介紹了。
樂發(fā)網超市批發(fā)網提供超市貨源信息,超市采購進貨渠道。超市進貨網提供成都食品批發(fā),日用百貨批發(fā)信息、微信淘寶網店超市采購信息和超市加盟信息.打造國內超市采購商與批發(fā)市場供應廠商搭建網上批發(fā)市場平臺,是全國批發(fā)市場行業(yè)中電子商務權威性網站。
本文內容整合網站:百度百科、知乎、淘寶平臺規(guī)則
本文來源: Destoon7.0仿站必備模板標簽