模板文件一定要小寫下劃線,如 list_pubu.html
你可以給你每一個模板文件增加一個json配置文件,用于描述這個模板文件;配置文件和模板文件名是同名的,只是后綴為 json,如simpleboot3/portal/index.html模板文件的配置文件就是simpleboot3/portal/index.json;
一個簡單的配置文件內容如下:
{
"name": "門戶應用首頁", /*模板文件名*/
"action": "portal/Index/index",/*模板文件對應的操作*/
"description": "門戶應用首頁模板文件",/*模板文件描述*/
"order": 5.0,/*模板文件在后臺模板文件列表的排序,小在前*/
"more": {} /*模板文件擴展配置, 一般有vars,widgets兩個屬性*/
}更改模板配置文件后,一定記得在后臺更新模板
模板安裝時檢查模板文件和模板配置文件是否一一對應,如果不對應是不會安裝此模板文件的
一個包含模板變量和控件的配置文件內容如下:
{
"name": "首頁",
"action": "portal/Index/index",
"description": "首頁模板文件",
"order": 6.0,
"more": {
"vars": {
"varName1": {
"title": "測試 text",
"value": "1",
"type": "text",
"tip": "這是一個text",
"rule": {
"require": true
}
}
},
"widgets": {
"widgetName1": {
"title": "所有組件演示",
"name": "all_widget",
"display": "1",
"vars": {
"text": {
"title": "測試 text",
"value": "1",
"type": "text",
"tip": "這是一個text",
"rule": {
"require": true
}
}
}
}
}
}
}
模板變量
一個模板配置文件可以添加 n多個模板變量,模板變量在模板擴展屬性 more.vars 里
varName1鍵值就是模板變量名,支持多種類型(text,textarea...)的模板變量,具體請看模板變量類型;不同的變量類型在后臺設置時表現形式不同;
一個常用的text類型的變量配置格式如下:
"vars": {
"varName1": {
"title": "測試 text", /*后臺設置時 input 的 label*/
"value": "1", /*變量默認值*/
"type": "text", /*變量類型*/
"tip": "這是一個text", /*后臺設置時 input 的 幫助提示*/
"rule": { /*后臺設置時 input 的 驗證規則*/
"require": true
}
}
}
在模板中輸出模板變量
在前臺模板中,我們把所有模板變量放在$theme_vars中,$theme_vars就是一個數組,要輸出或使用模板變量只要把它當成$theme_vars中的值就可以了,如:
{$theme_vars.varName1|default=''}
echo $theme_vars['varName1']; //記得要判斷一下這個變量是否存在!
模板控件
模板控件就是模板里一個顯示塊,我們通過模板控件可以把一個模板分成 n多個模塊,通過設置控件屬性可以設置是否顯示等,一個模板配置文件可以添加 n多個模板控件,模板控件在模板擴展屬性 more.widgets 里
widgetName1鍵值就是模板控件名.
一個基本的控件配置格式如下:
"widgets": {
"widgetName1": {
"title": "所有組件演示", /*模板控件標題,用于后臺設置*/
"display": "1", /*控件是否顯示,1:顯示;0:不顯示*/
"vars": {/*模板控件變量,和模板變量一樣*/
"text": {
"title": "測試 text",
"value": "1",
"type": "text",
"tip": "這是一個text",
"rule": {
"require": true
}
}
}
}
}
在模板中使用模板控件
在前臺模板中,我們把所有模板控件放在$theme_widgets中,$theme_widgets就是一個數組,要使用模板控件只要把它當成$theme_widgets中的值就可以了,如:
print_r($theme_widgets['widgetName1']);//記得要判斷一下這個控件是否存在!
同時我們也增加一個 widget標簽
{$widget.title}
{$widget.vars.varName1|default=''}
或:
echo $widget['vars']['varName1'];//記得要判斷一下這個變量是否存在!