說(shuō)明:用于獲取后臺(tái)設(shè)置的留言表單
使用方法:{% guestbook 變量名稱(chēng) %}
如將變量定義為fields {% guestbook fields %}...{% endguestbook %}
siteId
siteId
一般不需要填寫(xiě),如果你使用后臺(tái)的多站點(diǎn)管理創(chuàng)建了多個(gè)站點(diǎn),并且想調(diào)用其他站點(diǎn)的數(shù)據(jù),則可以通過(guò)指定 siteId
來(lái)實(shí)現(xiàn)調(diào)用指定站點(diǎn)的數(shù)據(jù)。fields 是一個(gè)數(shù)組對(duì)象,因此需要使用 for
循環(huán)來(lái)輸出
Name
FieldName
Type
表單類(lèi)型有6種可能的值:文本類(lèi)型 text
、數(shù)字類(lèi)型 number
、多行文本類(lèi)型 textarea
、單項(xiàng)選擇類(lèi)型 radio
、多項(xiàng)選擇類(lèi)型 checkbox
、下拉選擇類(lèi)型 select
。Required
Required 值為 true 時(shí),表示必填,Required 值為 false 時(shí),表示可以不填。Content
Items
當(dāng)表單類(lèi)型為 單項(xiàng)選擇類(lèi)型 radio
、多項(xiàng)選擇類(lèi)型 checkbox
、下拉選擇類(lèi)型 select
時(shí),它們的每一個(gè)選擇項(xiàng)構(gòu)成了一個(gè) Items 數(shù)組,可以通過(guò) for 循環(huán)輸出。留言表單提交需要使用 form 表單提交, 提交后臺(tái)接收地址為:/guestbook.html
,需要提交的字段有
字段 | 是否必填 | 說(shuō)明 |
---|---|---|
user_name | 是 | 留言的用戶(hù)名 |
contact | 是 | 聯(lián)系方式,如手機(jī),電話,微信,QQ等 |
content | 是 | 留言?xún)?nèi)容 |
其他自定義字段 | 根據(jù)設(shè)置決定 | 后臺(tái)添加表單額外字段設(shè)置的字段,根據(jù)設(shè)置是否為必填 |
return | 否 | 提交后,指定后端返回的格式,可選的值有:html 、json ,默認(rèn)為 html |
通過(guò)下面的代碼,可以循環(huán)輸出所有的設(shè)置的字段。
<form method="post" action="/guestbook.html">
{% guestbook fields %}
{% for item in fields %}
<div>
<label>{{item.Name}}</label>
<div>
{% if item.Type == "text" || item.Type == "number" %}
<input type="{{item.Type}}" name="{{item.FieldName}}" {% if item.Required %}required lay-verify="required"{% endif %} placeholder="{{item.Content}}" autocomplete="off">
{% elif item.Type == "textarea" %}
<textarea name="{{item.FieldName}}" {% if item.Required %}required lay-verify="required"{% endif %} placeholder="{{item.Content}}" rows="5"></textarea>
{% elif item.Type == "radio" %}
{%- for val in item.Items %}
<input type="{{item.Type}}" name="{{item.FieldName}}" value="{{val}}" title="{{val}}">
{%- endfor %}
{% elif item.Type == "checkbox" %}
{%- for val in item.Items %}
<input type="{{item.Type}}" name="{{item.FieldName}}[]" value="{{val}}" title="{{val}}">
{%- endfor %}
{% elif item.Type == "select" %}
<select name="{{item.FieldName}}">
{%- for val in item.Items %}
<option value="{{val}}">{{val}}</option>
{%- endfor %}
</select>
{% endif %}
</div>
</div>
{% endfor %}
<div>
<div>
<button type="submit">提交留言</button>
<button type="reset">重置</button>
</div>
</div>
{% endguestbook %}
</form>
如果你想自定義表單顯示,你也可以使用常規(guī)的input來(lái)組織顯示,如:
<form method="post" action="/guestbook.html">
<input type="hidden" name="return" value="html">
<div>
<label>用戶(hù)名</label>
<div>
<input type="text" name="user_name" required lay-verify="required" placeholder="請(qǐng)?zhí)顚?xiě)您的昵稱(chēng)" autocomplete="off">
</div>
</div>
<div>
<label>聯(lián)系方式</label>
<div>
<input type="text" name="contact" required lay-verify="required" placeholder="請(qǐng)?zhí)顚?xiě)您的手機(jī)號(hào)或微信" autocomplete="off">
</div>
</div>
<div>
<label>留言?xún)?nèi)容內(nèi)容</label>
<div>
<textarea name="content" placeholder="" id="comment-content-field" rows="5"></textarea>
</div>
</div>
<div>
<div>
<button type="submit">提交留言</button>
<button type="reset">重置</button>
</div>
</div>
</form>