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