使用模板標(biāo)簽前請(qǐng)先通讀 Nunjucks 文檔
在 DoraCMS 中我們把 {% %} 作為開(kāi)始結(jié)束標(biāo)簽。DoraCMS 模版標(biāo)簽的是以下面的方式進(jìn)行聲明
{% remote key="tabContents",api="content/getList",query='{"model":"1","pageSize":7,"isPaging":"0","typeId":"Ek7skiaw"}' %}
模版標(biāo)簽必須以 {% 開(kāi)頭,并以 %} 結(jié)尾的代碼片段,如果不正確會(huì)引起程序致命性的錯(cuò)誤,導(dǎo)致程序無(wú)法繼續(xù)運(yùn)行。
標(biāo)簽中 {% 后的 remote 是固定的,通過(guò) remote 標(biāo)記,我們可以使用服務(wù)端定義的方法來(lái)請(qǐng)求數(shù)據(jù)
key="tabContents"
這是開(kāi)發(fā)者指定的變量,代表的是返回?cái)?shù)組接收的變量。
api="content/getList"
這是獲取數(shù)據(jù)指定的api,在模板中展示的數(shù)據(jù)主要來(lái)自api,數(shù)據(jù)獲取是異步的。
query='{"model":"1","pageSize":7,"isPaging":"0","typeId":"Ek7skiaw"}'
query 是選填的,包含了在接口請(qǐng)求過(guò)程中需要攜帶的參數(shù),query 中約定了幾個(gè)參數(shù)可以傳遞:
變量名 | 默認(rèn)值 | 備注 |
---|---|---|
current | 1 | 當(dāng)前頁(yè)碼 |
pageSize | 10 | 每頁(yè)數(shù)量 |
isPaging | 1 | 是否分頁(yè) 0:不分頁(yè) 1:分頁(yè) |
這個(gè)形式所代表的是參數(shù)。每一個(gè)模型都為其模版標(biāo)簽定義了調(diào)用的參數(shù)。其中有一些調(diào)用參數(shù)是系統(tǒng)保留的參數(shù),其對(duì)所有的模版標(biāo)簽都是有效的。
參數(shù)必須使用
參數(shù)名="參數(shù)值"
的方式填寫,多個(gè)參數(shù)之間使用’,’分開(kāi)(如下例),參數(shù)值可使用雙引號(hào)來(lái)包括,無(wú)論是什么形式的引號(hào)都必須是成對(duì)出現(xiàn)的。
{% remote key="demoKey", 參數(shù)名="參數(shù)值",參數(shù)名="參數(shù)值",參數(shù)名="參數(shù)值" %}
請(qǐng)查看模版表情標(biāo)簽保留參數(shù)相關(guān)章節(jié),以了解具體保留參數(shù)及其用途。
默認(rèn)情況下模版標(biāo)簽中的數(shù)據(jù)都是數(shù)組方式返回的,你都可以通過(guò) 你在模版標(biāo)簽中定義key的參數(shù)來(lái)接收返回的數(shù)組。 比如上例定義key為 'demoKey' ,你可以使用如下的方式來(lái)顯示值:
<ul>
{% for val in demoKey%}
<li><a href="{{val.name|get_url(val.id)}}">{{val.title}}</a></li>
{% endfor %}
</ul>
基中的{{val.name}},{{val.id}}和{{val.title}}需要具體根據(jù)所使用的模版標(biāo)簽,返回的數(shù)據(jù)來(lái)判斷。
下表為模版標(biāo)簽保留參數(shù)表,幾乎所有的模版標(biāo)簽都支持這些保留參數(shù)設(shè)置
變量名 | 默認(rèn)值 | 備注 |
---|---|---|
key | - | 定義接收數(shù)據(jù)參數(shù) |
api | - | 獲取數(shù)據(jù)的接口 |
query | - | 接口請(qǐng)求攜帶的參數(shù) |
下例中是首頁(yè)請(qǐng)求熱門標(biāo)簽的例子。
{% remote key='hotTags',api="contentTag/getList",query='{"isPaging":"0"}' %}
{% for tagItem in hotTags %}
<a href="/tag/{{tagItem.name}}" target="_blank">{{tagItem.name}}</a>
{% endfor %}
Copyright ? doramart 2019 all right reserved
更多建議: