關于手冊
熟悉PbootCMS手冊是使用本程序開發模板的前提,雖然我們盡可能把所有標簽做到簡單到想哭,但是還是需要您靜下心來好好看看!
關于我們
全新內核的PHP開源企業網站開發建設管理系統,系統以高效、簡潔、強悍為開發目標,能夠滿足各類企業網站建設開發的需要。
后臺訪問
系統后臺默認訪問路徑:http://域名/admin.php 賬號:admin 密碼:123456
技術交流群
pbootcms建站交流2群:822869853,極客模板網:www.cmsmb.top
快速部署
系統自帶完整后臺以及一套響應式模板,默認采用Sqlite數據庫,放入PHP(5.3+)環境即可直接使用,另外,如果您是在服務器上那么需要到官網先免費獲取授權碼填寫到后臺相應位置才能打開網站前臺
數據庫選擇
默認采用sqlite數據庫,不需要做導入和配置操作,如果需要啟用mysql版本,請導入數據庫文件(/static/backup/sql/xxx.sql)并修改數據庫連接文件信息(/config/database.php)
在線演示
點擊我瀏覽(注意:只能看前臺,后臺不允許登陸)
公共標簽
1、模板文件嵌套引用
{include file=***.html}
使用說明:
可以嵌套使用,如:index.html 嵌套一個head.html,同時head.html中嵌套comm.html
支持使用子目錄,如:{include file=comm/***.html}
2、時間格式化標簽
style=*
如:內容列表時間格式化[list:date style=Y-m-d]、內容詳情頁時間格式化{content:date style=Y-m-d}
使用說明:
時間格式化標簽和PHP時間格式化語法一致,分別用不同字母代替,中間可以穿插任意字符,如:Y-m-d、Y/m/d、Y年m月d日等等
注意:Y代表完整年份,y代表簡化年份,m代表月份,d代表日,H代表小時,i代表分,s代表秒,如完整時間:style='Y-m-d H:i:s',更多請參考PHP時間格式化語法 ,參考鏈接 :http://php.net/manual/zh/function.date.php
3、HTML去除標簽
drophtml=1
如:內容列表內容[list:content drophtml=1]、內容詳情頁內容{content:content drophtml=1}
使用說明:
一般在首頁等特殊位置需要調取正文一段純文本時使用,這時一般會配合下面的內容截取標簽一起使用
4、內容截取標簽
長度截取使用len=* 或 lencn=* ,使用第二個將避免中英文長度不統一問題,一個英文字符算半個字
(V1.3.5+)內容截取時可使用more='*'設置省略號內容,設置more=''則不顯示省略號
如:內容列表標題截取[list:title len=10]、內容詳情頁時間格式化{content:title len=10}
substr=x,y 截取一段
substr截取字符串長度,傳遞兩個數字,第一個為起始位置,第二個為截取長度,如只有一個數字則截取此數字起后面全部
使用說明:
使用內容截取時要注意如果是html內容需要先去除html再截取,否則可能導致html錯位,如:[list:content drophtml=1 len=50]
5、其它格式化標簽
dropblank=1 ,去除空白字符,如換行符、制表符等
decode=1 解碼數據html字符,如果等于0.則不解碼(包括源碼已經解碼的),此標簽一般不使用
decimal=* 小數點位數
unit=* 容量單位,可以是kb,mb,gb,tb,pb,eb
6、自定義標簽
{label:***}
使用說明:
在后臺”全局配置>定制標簽“中定義,前臺使用對應名字進行調用即可
7、面包屑標簽
{pboot:position}
參數說明:
separator=* 分隔符,非必填,默認為>>
separatoricon=* 分割圖標,非必填,如使用圖標字體:separatoricon='fa fa-angle-double-right'
indextext=* 首頁文本,非必填,默認為"首頁"
indexicon=* 首頁圖標,非必填,如使用圖標字體:indexicon='fa fa-home'
8、當前網址
{pboot:httpurl}
使用說明:
自適應獲取當前訪問網址,主要用于需要使用網站路徑前綴的情況,如輸出:http://www.guestpostingtalk.com
9、當前頁面
{pboot:pageurl}
10、二維碼生成標簽
{pboot:qrcode string=***}
使用說明:
用于生成對應文本的二維碼圖片,可用于產品列表頁或詳情頁為每個產品生成二維碼 :{pboot:qrcode string={pboot:httpurl}{content:link}}或{pboot:qrcode string={pboot:pageurl}
11、程序運行時間
{pboot:runtime\}
使用說明:
用于輸出頁面運行時間/緩存時間,使用時請將反斜杠去掉。
12、留言驗證碼開關狀態
{pboot:checkcodestatus}
使用說明:
用于判斷留言驗證碼是否開啟狀態,方便頁面控制驗證碼圖標的顯示。
13、站點地圖
http://domain/index.php/sitemap
http://domain/index.php/sitemap.xml
使用說明:
系統使用動態站點地圖,不需要生成,訪問地址即為實時地圖,輸出格式為xml,當然你也可以打開后另存為一個地圖文件。
如果你已經開啟偽靜態,那么地址中將可以不含有index.php。
14、圖片縮放及裁剪(v1.3.5+)
圖片縮放及裁剪總共四個參數:
參數:width=* height=* maxwidth=* maxheight=*
使用方式,如:[list:ico width=100]
使用說明:
四個參數可以組合使用,此處會生成改變了圖片大小的緩存圖片,緩存圖片是裁切過后的圖片,但原上傳的圖片不變。
如果不想改變大小及裁切圖片,只是想縮放顯示,那么請使用CSS進行控制即可。
站點信息標簽
適用范圍:全站任意地方均可使用
標簽作用:用于調取網站的基本配置信息,對應后臺的“基礎內容>站點信息”
{pboot:siteindex} | 站點入口地址,用于地址前置引用 |
{pboot:sitepath} | 站點路徑,根目錄時值為空 |
{pboot:sitelanguage} | 站點語言 |
{pboot:sitetitle} | 站點標題 |
{pboot:sitesubtitle} | 站點副標題 |
{pboot:sitedomain} | 站點域名 |
{pboot:sitelogo} | 站點logo |
{pboot:sitekeywords} | 站點關鍵字 |
{pboot:sitedescription} | 站點描述 |
{pboot:siteicp} | 站點備案信息 |
{pboot:sitetplpath} | 站點模板路徑 |
{pboot:sitestatistical} | 站點統計 |
{pboot:sitecopyright} | 站點版權 |
V1.1.6+新增如下標簽,推薦使用
{pboot:pagetitle} 根據不同頁面自動顯示標題
{pboot:pagekeywords} 根據不同頁面自動顯示關鍵字
{pboot:pagedescription} 根據不同頁面自動顯示描述
公司信息標簽
適用范圍:全站任意地方均可使用
標簽作用:用于調取網站與公司相關的信息,對應后臺的“基礎內容>公司信息”
{pboot:companyname} | 公司名稱 |
{pboot:companyaddress} | 公司地址 |
{pboot:companypostcode} | 郵政編碼 |
{pboot:companycontact} | 聯系人 |
{pboot:companymobile} | 聯系手機 |
{pboot:companyphone} | 聯系電話 |
{pboot:companyfax} | 傳真號碼 |
{pboot:companyemail} | 聯系郵箱 |
{pboot:companyqq} | QQ號碼 |
{pboot:companyweixin} | 微信圖標 |
{pboot:companyblicense} | 營業執照號 |
{pboot:companyother} | 其它信息 |
當前欄目標簽
適用范圍:在列表頁或詳情頁使用
標簽作用:用于輸出當前欄目的相關信息
{sort:tcode} | 當前欄目的頂級欄目編碼 |
{sort:topname} | 當前欄目的頂級欄目名稱 |
{sort:toplink} | 當前欄目的頂級欄目鏈接 |
{sort:pcode} | 當前欄目的父欄目編碼 |
{sort:parentname} | 當前欄目的父欄目名稱 |
{sort:parentlink} | 當前欄目的父欄目鏈接 |
{sort:scode} | 當前欄目編碼 |
{sort:name} | 欄目名稱 |
{sort:subname} | 欄目副名稱 |
{sort:link} | 欄目鏈接 |
{sort:type} | 欄目類型,1單頁、2列表 |
{sort:outlink} | 后臺設置的跳轉鏈接 |
{sort:listtpl} | 列表頁模板 |
{sort:contenttpl} | 詳情頁模板 |
{sort:ico} | 欄目縮略圖 |
{sort:pic} | 欄目大圖 |
{sort:title} | 欄目標題(V1.3+) |
{sort:keywords} | 欄目關鍵字 |
{sort:description} | 欄目描述 |
指定欄目標簽
適用范圍:全站任意地方均可使用
標簽作用:用于調導航菜單欄目列表,對應后臺的“基礎內容>內容欄目”
1、指定欄目列表
{pboot:sort scode=*}
<a href= "[sort:link]">[sort:name]</a>
{/pboot:sort}
控制參數:
scode=* 欄目編碼,必填,用于控制輸出的欄目,可以同時輸出多個(V1.1.6+),使用逗號隔開即可,如:1,2,3
scode={sort:pcode} 可用于輸出當前欄目父菜單的信息
scode={sort:scode} 可用于輸出當前欄目的信息
scode={sort:tcode} 可用于輸出當前欄目頂級菜單的信息
2、可使用的列表標簽
[sort:n] | 序號,從0開始 |
[sort:i] | 序號,從1開始 |
[sort:pcode] | 父欄目編碼 |
[sort:parentname] | 父欄目名稱 |
[sort:scode] | 當前欄目編碼 |
[sort:name] | 欄目名稱 |
[sort:subname] | 欄目副名稱 |
[sort:link] | 欄目鏈接 |
[sort:type] | 欄目類型,1單頁、2列表 |
[sort:outlink] | 后臺設置的跳轉鏈接 |
[sort:listtpl] | 列表頁模板 |
[sort:contenttpl] | 詳情頁模板 |
[sort:ico] | 欄目縮略圖 |
[sort:pic] | 欄目大圖 |
[sort:title] | 欄目標題(V1.3+) |
[sort:keywords] | 欄目關鍵字 |
[sort:description] | 欄目描述 |
[sort:rows] | 欄目下內容數量(V1.3+) |
[sort:toprows] | 頂級欄目下內容數量(V1.3+) |
[sort:parentrows] | 父欄目下內容數量(V1.3+) |
內容列表標簽
適用范圍:指定欄目編碼時全站可用,適用當前列表
標簽作用:用于調取指定欄目的內容列表或自動當前列表
1、當前欄目內容列表
{pboot:list}
<a href= "[list:link]">[list:title]</a>
{/pboot:list}
只能在列表頁面使用,帶分頁,同一個頁面只能使用一次,否則:老版本會出現分頁沖突,新版會顯示一樣的內容。
V1.2.2版本開始order排序進行調整,默認情況下置頂、推薦、頭條具有優先顯示,包括使用date、sorting、visits、likes、oppose時,那么如果要想按照自己的設置來可以使用自定義模式,可以自己任意組合:如order='date desc,id desc' 此時意味著將按照時間倒序,然后添加順序倒序。如order='sorting desc,id desc' 將先按照后臺排序,然后按照id倒序。更多情況自己參照例子定義即可。
控制參數:
num=* 每頁數量,非必填,用于控制分頁大小
order=* 排序方式,非必填,用于輸出內容的排序方式,可選:date、sorting、istop、isrecommend、isheadline、visits、likes、oppose、等字段,其中sorting為按后臺填寫的排序,122版本開始支持自定義模式,如:order='date desc,id desc' 、order='sorting desc,id desc',(V1.3.7+)還支持random隨機排序
filter=*|x,y 數據過濾,非必填,用于對列表內容進行過濾篩選,如:filter=title|ASP,PHP 只顯示標題含有ASP和PHP的內容,如果需要只顯示推薦,可使用如下過濾參數: filter=isrecommend|1 (V1.2.0+版本用下面的方式更好)
isico=*、ispics=*、istop=*、isrecommend=*、isheadline=* 用于對數據進行特殊篩選,可選值1和0,非必填,比如只調取推薦內容:isrecommend=1
tags=x,y tags方式數據過濾,非必填,用于對列表內容進行過濾篩選,如:tags='ASP,PHP',則為含有asp或php標簽的內容,那么可以用 tags={content:tags}來調用當前文章的相關文章
start=* 起始數據(V1.3.2+),非必填,用于需要從第幾條開始
2、指定欄目內容列表
{pboot:list scode=*}
<a href= "[list:link]">[list:title]</a>
{/pboot:list}
可以全站使用,多個欄目編碼使用逗號隔開,如果使用星號,意味全部欄目。指定欄目內容列表默認不分頁,當然你還是可以通過page參數控制強制分頁,但要注意不可在同一頁面使用多個帶分頁的列表。
如果要使用本循環標簽調用當前內容列表,可以使用scode={sort:scode},同時也避免了同一個頁面多次調用當前欄目內容時分頁沖突問題。
控制參數:
scode=* 欄目編碼,必填,用于指定需要調取的欄目編碼,讀取的內容會同時包含該欄目下子菜單的內容,支持多個欄目如:1,2,3
page=* 是否分頁,非必填,用于列表是否執行分頁,可設置1或0,本功能適合首頁分頁等場景
start=* 起始數據(V1.3.2+),非必填,用于需要從第幾條開始
其余控制參數同上面當前欄目內容列表
3、可使用的列表標簽
[list:n] | 計數0開始 |
[list:i] | 計數1開始 |
[list:id] | 編號 |
[list:scode] | 分類編碼 |
[list:subscode] | 副分類編碼 |
[list:sortname] | 分類名稱 |
[list:subsortname] | 副分類名稱 |
[list:sortlink] | 分類鏈接 |
[list:subsortlink] | 副分類鏈接 |
[list:title] | 標題 |
[list:titlecolor] | 標題顏色 |
[list:subtitle] | 副標題 |
[list:tags] | 直接輸出tags |
[list:author] | 作者 |
[list:source] | 來源 |
[list:link] | 鏈接 |
[list:outlink] | 外部鏈接 |
[list:date] | 發布日期 |
[list:ico] | 縮略圖,[list:isico]可用于判斷,返回1或0 |
[list:pics] | 多圖 |
[list:content] | 內容 |
[list:enclosure] | 附件 |
[list:enclosuresize] | 附件大小 |
[list:keywords] | 關鍵詞 |
[list:description] | 描述 |
[list:istop] | 是否置頂 |
[list:isrecommend] | 是否推薦 |
[list:isheadline] | 是否頭條 |
[list:visits] | 訪問數量 |
[list:likes] | 點贊數量 |
[list:oppose] | 反對數量 |
[list:likeslink] | 點贊鏈接 |
[list:opposelink] | 反對鏈接 |
[list:ext_***] | 調取擴展字段內容 |
分頁條標簽
適用范圍:分頁條標簽適用所有執行了分頁的頁面
標簽作用:用于輸出分頁代碼
1、分頁條標簽
{page:bar} | 系統內置的完整分頁條 |
{page:current} | 當前頁碼 |
{page:count} | 總頁數 |
{page:rows} | 總數據行數 |
{page:index} | 首頁鏈接 |
{page:pre} | 前一頁鏈接 |
{page:next} | 下一頁鏈接 |
{page:last} | 尾頁鏈接 |
{page:status} | 分頁狀態信息 |
{page:numbar} | 數字條,數字帶class名稱為page-num,當前的同時還帶page-num-current |
{page:selectbar} | 下拉選擇條 |
2、分頁條自帶的HTML樣式class名稱
狀態:page-status
首頁:page-index
上一頁:page-pre
下一頁:page-next
尾頁:page-last
數字條:page-numbar ,數字條下面的數字:page-num ,如果是當前頁,那么該數字還同時帶有:page-num-current
下拉條:page-select (默認條已經不顯示)
如果使用系統完整分頁條,則以上樣式名稱在輸出的HTML代碼中都帶,你可以直接使用對應名稱在自己的css中定義具體樣式即可;
如果使用自定義方式,那么就按照自己寫的html代碼來定義,但是數字條下面的page-num 、page-num-current依然有效。
當然,如果你對前端還算比較上手,你應該知道其實上面說的這些通過F12都可以看到。
內容詳情頁標簽
適用范圍:在內容詳情頁使用,包括單頁和列表點擊后的詳情頁
標簽作用:用于輸出當前內容的相關信息
{content:id} | 編號 |
{content:scode} | 分類編碼 |
{content:subscode} | 副分類編碼 |
{content:sortname} | 分類名稱 |
{content:subsortname} | 副分類名稱 |
{content:sortlink} | 分類鏈接 |
{content:subsortlink} | 副分類鏈接 |
{content:title} | 標題 |
{content:titlecolor} | 標題顏色 |
{content:subtitle} | 副標題 |
{content:author} | 作者 |
{content:source} | 來源 |
{content:link} | 鏈接 |
{content:outlink} | 外部鏈接 |
{content:date} | 發布日期 |
{content:ico} | 縮略圖,{content:isico}可用于判斷,返回1或0 |
{content:pics} | 多圖 |
{content:content} | 內容 |
{content:tags} | 直接輸出tags |
{content:enclosure} | 附件 |
{content:enclosuresize} | 附件大小 |
{content:keywords} | 關鍵詞 |
{content:description} | 描述 |
{content:istop} | 是否置頂 |
{content:isrecommend} | 是否推薦 |
{content:isheadline} | 是否頭條 |
{content:visits} | 訪問數量 |
{content:likes} | 點贊數量 |
{content:oppose} | 反對數量 |
{content:likeslink} | 點贊鏈接 |
{content:opposelink} | 反對鏈接 |
{content:ext_***} | 調取擴展字段內容 |
{content:precontent} | 上一篇內容(帶鏈接) |
{content:nextcontent} | 下一篇內容(帶鏈接) |
{content:prelink} | 上一篇內容鏈接 |
{content:nextlink} | 下一篇內容鏈接 |
{content:pretitle} | 上一篇內容標題 |
{content:nexttitle} | 下一篇內容標題 |
{content:nexttitle notext='no more'} | 設置“沒有了”文本,設置參數時如果帶空格,需要用單引號 |
指定內容標簽
適用范圍:全站任意地方均可使用
標簽作用:用于調取指定id的內容
1、調取指定內容
{pboot:content id=*}
<a href= "[content:link]">[content:title]</a>
{/pboot:content}
控制參數:
id=* 內容的ID號,必填,用于控制輸出的內容,適用單頁或列表頁內容
scode=* 單頁的分類編碼,必填,用于控制輸出單頁的內容,只適用單頁內容
2、可使用的內容標簽
[content:id] | 編號 |
[content:scode] | 分類編碼 |
[content:subscode] | 副分類編碼 |
[content:sortname] | 分類名稱 |
[content:subsortname] | 副分類名稱 |
[content:sortlink] | 分類鏈接 |
[content:subsortlink] | 副分類鏈接 |
[content:title] | 標題 |
[content:titlecolor] | 標題顏色 |
[content:subtitle] | 副標題 |
[content:author] | 作者 |
[content:source] | 來源 |
[content:link] | 鏈接 |
[content:outlink] | 外部鏈接 |
[content:date] | 發布日期 |
[content:ico] | 縮略圖 |
[content:pics] | 圖集 |
[content:content] | 內容 |
[content:tags] | 直接輸出tags |
[content:enclosure] | 附件 |
[content:enclosuresize] | 附件大小 |
[content:keywords] | 關鍵詞 |
[content:description] | 描述 |
[content:istop] | 是否置頂 |
[content:isrecommend] | 是否推薦 |
[content:isheadline] | 是否頭條 |
[content:visits] | 訪問數量 |
[content:likes] | 點贊數量 |
[content:oppose] | 反對數量 |
[content:likeslink] | 點贊鏈接 |
[content:opposelink] | 反對鏈接 |
[content:ext_***] | 調取擴展字段內容 |
指定內容多圖遍歷
適用范圍:全站任意地方均可使用
標簽作用:用于依次輸出指定內容的多張圖片
1、指定內容多圖遍歷
{pboot:pics id=* num=*}
<img src="[pics:src]">
{/pboot:pics}
控制參數:
id=* 內容ID號,必填,用于控制需要輸出圖片的內容,也可使用id={content:id}、id=[list:id]自適應當前內容及列表
num=* 數量,非必填,用于控制需要輸出圖片得數量
2、可使用的多圖標簽
[pics:n] | 序號從0開始 |
[pics:i] | 序號從1開始 |
[pics:src] | 圖片地址 |
指定內容多選字段遍歷
適用范圍:全站任意地方均可使用
標簽作用:用于依次輸出指定內容的多選值,也可用于遍歷逗號隔開的字段,如tag
1、指定內容多選遍歷
{pboot:checkbox id=* field=*}
[checkbox:text]
{/pboot:checkbox}
控制參數:
id=* 內容ID號,必填,用于控制需遍歷多選的內容,也可使用id={content:id}、id=[list:id]自適應當前內容及列表
field=* 字段,必填,用于控制需要遍歷的字段,如擴展字段產品特色:ext_cpts
2、可使用的多選遍歷標簽
[checkbox:n] | 序號從0開始 |
[checkbox:i] | 序號從1開始 |
[checkbox:text] | 文本 |
幻燈片輪播圖標簽
適用范圍:全站任意地方均可使用
標簽作用:用于依次輸出指定分組的幻燈片圖片
1、幻燈片輪播圖列表
{pboot:slide gid=* num=*}
<img src="[slide:src]">
{/pboot:slide}
控制參數:
gid=* 分組,必填,用于控制需要輸出的幻燈片分組
num=* 數量,非必填,用于控制需要輸出的數量,默認為5個
2、可使用的列表標簽
[slide:n] | 序號從0開始 |
[slide:i] | 序號從1開始 |
[slide:id] | 編號 |
[slide:src] | 圖片地址 |
[slide:link] | 鏈接地址 |
[slide:title] | 標題 |
[slide:subtitle] | 副標題 |
友情鏈接標簽
適用范圍:全站任意地方均可使用
標簽作用:用于依次輸出指定分組的友情鏈接
1、友情鏈接列表
{pboot:link gid=* num=*}
<a href="[link:link]" title="[link:name]"><img src="[link:logo]"></a>
{/pboot:link}
控制參數:
gid=* 分組,必填,用于控制需要輸出的友情鏈接分組
num=* 數量,非必填,用于控制需要輸出的數量,默認為10個
2、可使用的列表標簽
[link:n] | 序號從0開始 |
[link:i] | 序號從1開始 |
[link:id] | 編號 |
[link:name] | 鏈接名稱 |
[link:link] | 鏈接地址 |
[link:logo] | 鏈接Logo圖 |
留言板標簽
適用范圍:全站任意地方均可使用
標簽作用:用于用戶提交留言和調取留言記錄
1、留言提交表單
<form action="{pboot:msgaction}" method="post">
聯系人:<input type="text" name="contacts" >
手機:<input type="text" name="mobile" >
內容:<input type="text" name="content" >
驗證碼:<input type="text" name="checkcode" ><img title="點擊刷新" src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.round(Math.random()*10);" />
<button type="submit">提交</button>
</form>
表單提交方式為post,表單中提交的字段名稱需要與后臺自定義表單中添加的字段一致,否則會導致提交失敗。
需要更多字段時請在后臺自定義表單中新增留言表單字段,然后再在前臺新增form字段.
標簽說明:
{pboot:msgaction} 為留言表單接收地址
{pboot:checkcode} 為驗證碼圖片地址
2、留言記錄列表
{pboot:message num=*}
<p>[message:contacts]</p>
<p>[message:content]</p>
{/pboot:message}
調取的留言記錄默認執行分頁,使用內容列表的分頁代碼即可.
內容隱私,使用截取功能: [message:mobile substr=1,3]****[message:mobile substr=8] 輸出效果:187****6563
控制參數:
num=* 數量,非必填,為調取的留言分頁大小
page=* 是否分頁1或0,非必填,用于關閉分頁
lg=* 調取指定語言留言,非必填,設置all則所有語言,不添加該參數則默認為當前語言(V1.3.7+)
3、留言記錄列表可用標簽
[message:n] | 序號從0開始 |
[message:i] | 序號從1開始 |
[message:contacts] | 聯系人 |
[message:mobile] | 手機 |
[message:content] | 內容 |
[message:recontent] | 回復內容 |
[message:ip] | 用戶IP |
[message:os] | 用戶操作系統 |
[message:bs] | 用戶瀏覽器 |
[message:askdate] | 留言時間 |
[message:replydate] | 回復時間 |
[message:***] | 自定義的其它字段 |
多條件篩選標簽
適用范圍:內容列表頁使用,其實也可以用在首頁等
標簽作用:用于對內容列表進行篩選
1、使用步驟
- 1)到后臺對模型添加擴展字段,字段類型選擇單選或多選,同時填寫單選或多選的可選內容;
- 2)添加對應模型的欄目,并對欄目添加內容;
- 3)到前臺模板中調用相關擴展字段進行輸出,具體見下面的例子。
2、篩選調用標簽
1)全部標簽
{pboot:selectall field=* text=* class=* active=*}
控制參數:
field=* 篩選的字段,必填,用于控制調取的篩選字段名稱
text=* 顯示文字,非必填,用于控制顯示的文字,默認顯示”全部“
class=* 非選中時樣式,非必填,用于設置為文字非選中時的class常規樣式
active=* 選中時樣式,非必填,用于設置為文字選中時的class高亮樣式
2)篩選值標簽
{pboot:select field=*}
<a href= "[select:link]">[select:value]</a>
{/pboot:select}
控制參數:
field=* 篩選的字段,必填,用于控制調取的篩選字段名稱
一般情況下我們會有多個字段,那么只要重復上面的代碼即可。
選中值高亮處理:{pboot:if('[select:value]'=='[select:current]')}class= "active" {/pboot:if}
2)篩選可用標簽
[select:i] | 序號 |
[select:current] | 當前選中值 |
[select:link] | 鏈接 |
[select:value] | 篩選值 |
3、多條件篩選示例
<p>
類型:{pboot:selectall field=ext_leixing text=全部 class='btn btn-light' active='btnbtn-info'} |
{pboot:select field=ext_leixing}
{pboot:if([select:i]>1)}|{/pboot:if}
<a href="[select:link]"{pboot:if('[select:value]'=='[select:current]')}class="active" {/pboot:if}>[select:value]</a>
{/pboot:select}
</p>
<p>
顏色:{pboot:selectall field=ext_yanse text=全部 class='btn btn-light' active='btnbtn-info'} |
{pboot:select field=ext_yanse}
{pboot:if([select:i]>1)}|{/pboot:if}
<a href="[select:link]"{pboot:if('[select:value]'=='[select:current]')}class="active" {/pboot:if}>[select:value]</a>
{/pboot:select}
</p>
多條件搜索
適用范圍:全站任意地方均可使用
標簽作用:用于執行站內搜索功能
1、最簡單的搜索示例
<form action="{pboot:scaction}" method="get">
關鍵字:<input type="text" name="keyword" >
<button type="submit">搜索</button>
</form>
表單提交方式為get.
使用說明:
{pboot:scaction} 為搜索提交地址
注意:表單提交方式為get,此表單默認匹配title標題字段
2、定義搜索字段示例
<form action="{pboot:scaction}" method="get">
關鍵字:<input type="text" name="keyword" >
<input type="hidden" name="field" value="title" >
<button type="submit">搜索</button>
</form>
或:
<form action="{pboot:scaction}" method="get">
<select name="field">
<option value="title">內容標題</option>
<option value="content">內容詳情</option>
</select>
關鍵字:<input type="text" name="keyword" >
<button type="submit">搜索</button>
</form>
通過添加隱藏域傳遞field值來控制搜索的字段,也可以同時設置多個字段,如: value="title|content" ,當然這只是方式之一,后面還有!
3、定義更多搜索條件示例
<form action="{pboot:scaction}" method="get">
關鍵字:<input type="text" name="keyword" >
<input type="hidden" name="field" value="title" >
<input type="hidden" name="scode" value="2,3" >
<button type="submit">搜索</button>
</form>
這里只定義搜索的字段和搜索的分類,其實你可以定義更多數據庫中任意可用的字段。如author為admin的:name="author" value="admin",當然你可以使用非隱藏域,那么就相當于綜合搜索類型。
如果需要定義的scode分類有多個,可以用逗號隔開,同時需要注意,如果表單傳遞的分類和字段無效時,要考慮結果頁循環是否做了限制。
(V1.3.7+)如果有多個搜索表單想定義不同的結果頁模板,那么可以傳遞searchtpl字段來定義模板頁,如:
<input type="hidden" name="searchtpl" value="test.html" >
4、多條件綜合搜索示例
<form action="{pboot:scaction}" method="get">
內容:<input type="text" name="content" >
標題:<input type="text" name="title" >
作者:<input type="text" name="author" >
<input type="hidden" name="scode" value="2,3" >
<button type="submit">搜索</button>
</form>
這里自定義了三個字段,其實你可以定義更多數據庫中任意可用的字段。
5、搜索結果列表
{pboot:search}
<a href="[search:link]">[search:title]</a>
{/pboot:search}
使用說明:
搜索結果頁面使用模板search.html
num=* 每頁數量,非必填,用于控制分頁大小
order=* 排序方式,非必填,用于輸出內容的排序方式,可選:date、sorting、istop、isrecommend、isheadline、visits、likes、oppose等字段,其中sorting為按后臺填寫的排序,122版本開始支持自定義模式,如:order='date desc,id desc' 、order='sorting desc,id desc',(V1.3.7+)還支持random隨機排序
scode=* 分類編碼,非必填,加前面說的方式,此作為第二種限制搜索分類的方式,多個分類用逗號隔開,如: scode='2,3,4'
field=* 字段限制,非必填,在使用了keyword時用于限定匹配的數據庫字段,多個字段用豎線隔開即可,如:field='title|content'
filter=*|x,y 數據過濾,非必填,用于對列表內容進行過濾篩選,如:filter=title|ASP,PHP 只顯示標題含有ASP和PHP的內容
fuzzy=* 是否模糊匹配,非必填,可選1或0,1時為默認的模糊匹配,0則關閉
搜索結果默認執行分頁,使用內容列表的分頁代碼即可.
6、搜索結果列表可用標簽
[search:n] | 序號從0開始 |
[search:i] | 序號從1開始 |
[search:id] | 編號 |
[search:scode] | 分類編碼 |
[search:subscode] | 副分類編碼 |
[search:sortname] | 分類名稱 |
[search:subsortname] | 副分類名稱 |
[search:sortlink] | 分類鏈接 |
[search:subsortlink] | 副分類鏈接 |
[search:title] | 標題 |
[search:titlecolor] | 標題顏色 |
[search:subtitle] | 副標題 |
[search:author] | 作者 |
[search:source] | 來源 |
[search:link] | 鏈接 |
[search:outlink] | 外部鏈接 |
[search:date] | 發布日期 |
[search:ico] | 縮略圖 |
[search:pics] | 多圖 |
[search:content] | 內容 |
[search:enclosure] | 附件 |
[search:enclosuresize] | 附件大小 |
[search:keywords] | 關鍵詞 |
[search:description] | 描述 |
[search:istop] | 是否置頂 |
[search:isrecommend] | 是否推薦 |
[search:isheadline] | 是否頭條 |
[search:visits] | 訪問數量 |
[search:likes] | 點贊數量 |
[search:oppose] | 反對數量 |
[search:likeslink] | 點贊鏈接 |
[search:opposelink] | 反對鏈接 |
多語言/區域建站
標簽作用:用于使用同一個后臺建立多國語言網站或多區域網站
1、使用步驟
- 1)在后臺"系統管理>數據區域"添加相應的區域,具體參考默認區域;
- 2)將多語言的模板放入模板目錄,不同語言的模板均放在template目錄下;
- 3)在后臺選擇語言切換到不同語言,分別設置:站點信息(注意選擇模板)、公司信息、欄目信息、添加內容等;
- 4)在不同模板中添加多語言切換按鈕。
2、多語言切換按鈕
<a href="{pboot:lgpath}?lg=cn">切換中文</a>
<a href="{pboot:lgpath}?lg=en">切換英文</a>
更多語言,類似方式添加即可。
如何判斷當前語言并高亮?
在按鈕上添加判斷語句:{pboot:if('{pboot:sitelanguage}'=='cn')}class="active"{/pboot:if}
IF條件語句使用
標簽作用:用于根據條件輸出不同內容
1、IF語句格式
{pboot:if('a'=='b')}
內容1
{else}
內容2
{/pboot:if}
使用提示:
對于非數字類的條件均為字符串類型,請加上引號,如:{pboot:if('[list:author]'=='admin')},但是數字類的可以不加:{pboot:if([list:i]==1)}
如果條件有多個,可以按照PHP的語法進行運算,如下:
條件并列:{pboot:if('[list:author]'=='admin' && [list:i]==1)}
條件或:{pboot:if('[list:author]'=='admin' || [list:i]==1)}
條件求余:{pboot:if([list:i]%2==0)},等于0偶數,等于1奇數
2、IF語句嵌套
{pboot:if('a'=='b')}
{pboot:2if('a'=='c')}
內容1
{2else}
內容2
{/pboot:2if}
{else}
內容3
{/pboot:if}
嵌套層級理論上不受限制,按此方式用數字依次嵌套即可。
lopp循環語句使用
標簽作用:用于根據循環輸出一段內容
1、Loop語句格式
{pboot:loop start=* end=*}
<p>這是第[loop:i]次,索引號為[loop:index]</p>
{/pboot:loop}
控制參數:
start=* 起始數字,默認1開始
end=* 結束數字,必填
使用說明
- 1)請先到后臺進行API相關參數配置,強烈建議啟用強制認證;
- 2)客戶端發起請求必須包含appid(認證用戶)、timestamp(時間戳)、signature(簽名)三個參數
- 3)簽名參數signature通過appid、secret、timestamp三個值連接為一個字符串,然后進行雙層md5加密生成;
站內使用Ajax獲取數據示例:
<script>
$(document).ready(function (e) {
var url='/api.php/cms/site';
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: {
appid: '{pboot:appid}',
timestamp: '{pboot:timestamp}',
signature: '{pboot:signature}'
},
success: function (response, status) {
if(response.code){
//獲取數據成功
alert(response.data.title);
}else{
//返回錯誤數據
alert(response.data);
}
},
error:function(xhr,status,error){
//返回數據異常
alert('返回數據異常!');
}
});
});
</script>
此處使用了三個站內標簽:{pboot:appid} 認證用戶名、{pboot:timestamp} 時間戳、{pboot:signature} 認證簽名
1、網站信息接口
http://IP/api.php/cms/site
http://IP/api.php/cms/site/name/* 單個調用
注意此處和CMS標簽比不帶site前綴,所以返回整體數據和調取單個時直接寫名稱,如:標題title
2、公司信息接口
http://IP/api.php/cms/company
http://IP/api.php/cms/company/name/* 單個調用
注意此處和CMS標簽比不帶company前綴,所以返回整體數據和調取單個時直接寫名稱,如:名稱name
3、自定義標簽接口
http://IP/api.php/cms/label
http://IP/api.php/cms/label/name/* 單個調用
4、欄目列表樹接口
http://IP/api.php/cms/nav
http://IP/api.php/cms/nav/scode/* 獲取指定分類的子類
5、當前欄目位置接口
http://IP/api.php/cms/position/scode/* 此處傳遞當前欄目scode值
6、指定分類信息接口
http://IP/api.php/cms/sort/scode/* 此處傳遞需要調用欄目的scode值
7、指定內容多圖接口
http://IP/api.php/cms/pics/id/* 此處傳遞內容ID值
8、幻燈片接口
http://IP/api.php/cms/slide/gid/*/num/* 此處傳遞分組gid及調取的數量num值,默認num為5
9、友情鏈接接口
http://IP/api.php/cms/link/gid/*/num/* 此處傳遞分組gid及調取的數量num值,默認num為10
10、指定內容列表接口
http://IP/api.php/list/* 此處傳遞需要調用的欄目scode
http://IP/api.php/list/*/page/2 調取第二頁,如果數據已獲取完,返回類似{"code":0,"data":"已經到底了!","rowtotal":"5"}
同時還支持URL中傳遞num/*參數控制數量,傳遞order/* 控制排序方式,用POST方式會更好傳遞值
11、指定內容詳情接口
http://IP/api.php/content/* 傳遞需要調用的內容ID(單頁一樣適用)
12、指定單頁詳情接口
http://IP/api.php/about/* 傳遞需要調用的單頁scode
13、搜索內容接口
http://IP/api.php/cms/search 建議使用POST提交,keyword傳遞搜索關鍵字單條件搜索
同時支持傳遞num/*參數控制數量,傳遞order/* 控制排序方式,建議POST方式
可傳遞參數 field指定字段,多個用|隔開;
可傳遞參數 scode指定分類,多個用逗號隔開;
可傳遞參數 fuzzy等于0關閉模糊匹配,另外也可使用多數據庫字段名稱傳遞值來多條件搜索
14、留言提交接口
http://IP/api.php/cms/addmsg 要求POST提交,傳遞的字段同后臺自定義的留言字段
15、留言內容接口
http://IP/api.php/cms/msg/num/* 傳遞num分頁大小
http://IP/api.php/cms/msg/num/*/page/2 調取第二頁
16、表單提交接口
http://IP/api.php/cms/addform/fcode/* 要求POST提交,fcode為表單編碼,傳遞的字段同后臺自定義的字段
17、表單數據讀取接口
http://IP/api.php/cms/form/fcode/* 傳遞fcode表單編碼
http://IP/api.php/cms/form/fcode/*/num/*/page/* num控制條數,page控制頁碼
溫馨提示:
以上接口對于多語言(區域)的情況,請地址中附加acode參數指定語言,否則調用默認語言,如:http://IP/api.php/cms/site/acode/en
自定義路由
標簽作用:用于自定義地址路由規則,美化URL地址。
路由的定義在config/route.php中操作,多條路由之間用英文逗號隔開,編輯時請使用代碼編輯器,請勿使用系統自帶的記事本。
如果你使用的程序版本中不存在此文件,請從新版本中拷貝一個。
1、單頁面路由格式
'home/*' => 'home/about/index/scode/*'
例如"關于我們"頁面:'home/about-us' => 'home/about/index/scode/1'
使用說明:
'home/*' 美化后的訪問地址,例如上面例子訪問地址會變為:http://域名/about-us.html
'home/about/index/scode/*' 為系統路由路徑,此時星號可以是欄目的編碼,如:關于我們的編碼1,當然也可以是你在后臺自定義的欄目地址名稱
溫馨提示:自定義中about為保留關鍵字,不要使用。
2、列表頁路由格式
'home/*' => 'home/list/index/scode/*'
例如"新聞中心"頁面:'home/news' => 'home/list/index/scode/2'
使用說明:
'home/*' 美化后的訪問地址,例如上面的示例訪問地址會變為:http://域名/news.html
'home/list/index/scode/*' 為系統路由路徑,此時星號可以是欄目的編碼,如:新聞中心的編碼2,當然也可以是你在后臺自定義的欄目地址名稱
3、詳情頁路由格式
'home/*' => 'home/content/index/id/*'
例如某篇新聞頁面:'home/test' => 'home/content/index/id/10'
使用說明:
'home/*' 美化后的訪問地址,例如上面的示例訪問地址會變為:http://域名/test.html
'home/content/index/id/*' 為系統路由路徑,此時星號為內容的ID,當然也可以是你在后臺自定義的內容地址名稱
偽靜態配置
標簽作用:配置程序偽靜態后URL中將不再包含index.php,整個地址更美觀
1、IIS環境(IIS6的環境自行百度):
1)安裝rewrite組件,如果使用空間一般空間商默認已經安裝;
2)到后臺配置參數中開啟偽靜態開關(老版本直接修改程序config/config.php文件url_type=2);
3)在站點目錄建立web.config文件(請到源碼包rewrite目錄下拷貝規則)
2、Apache環境
1)開啟Apache重寫模塊,具體請百度,如果使用空間一般空間商默認已經開啟;
2)到后臺配置參數中開啟偽靜態開關(老版本直接修改程序config/config.php文件url_type=2);
3)在站點目錄建立.htaccess文件(請到源碼包rewrite目錄下拷貝規則)。
2、Nginx環境
1、到后臺配置參數中開啟偽靜態(老版本直接修改程序config/config.php文件url_type=2);
2、在nginx虛擬主機location配置中添加規則,規則如下:
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
注意:Nginx中如果站點部署在二級目錄,請對應修改重寫規則, 如:二級目錄為test則:rewrite ^/test/(.*)$ /test/index.php/$1 last;
附:nginx開啟PHP及pathinfo支持的方法,在server內部添加如下內容:
location ~ \.php(.*)$ {
root D:/wwwroot; #你的網站目錄
fastcgi_pass 127.0.0.1:9000; #php-cgi監聽地址
fastcgi_index index.php; #默認頁
fastcgi_split_path_info ^(.+\.php)(.*)$; #分離路徑
fastcgi_param PATH_INFO $fastcgi_path_info; #添加PATH_INFO信息
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
獨立手機版
啟用獨立手機版可以PC/移動分別設置模板
步驟說明
- 1)在后臺配置中開啟手機版開關;
- 2)在PC模板目錄下面建立wap目錄,放入模板文件,各模板文件名同PC。例如:default/wap;
- 3)使用手機或者瀏覽器模擬手機進行訪問。