action | 支持"推薦位(position)"、"搜索關鍵字(keywords)"、"相關文章(relation)"模式,普通數據查詢不須要此參數 |
table | 循環表名稱,默認爲內容表,能夠用其餘表,插件表格式爲:插件名稱.表名稱(link.linkname) |
catid | 當前欄目ID號 |
num | 顯示數量,還能夠寫成"num=1,5"至關於limit 1,5 |
return | 返回數組名稱,用於循環,默認值爲't',調用方式:{$t['title']} |
more | 值爲1時,自動調用內容表的附表內容(也就是自定義的字段) |
order | 排序,例如: order=id_desc,userid_desc,默認desc排序,能夠省掉_desc |
join | 聯合查詢表名稱(用該表的主鍵關聯),例如:join=member |
on | 其餘表的字段(非join表的自段),必須與join成對出現,不然join失效,例如:join=member on=userid |
page | 用於分頁查詢,若是出現了num參數,分頁查詢將會失效 |
urlrule | 分頁URL格式(分頁標識符_page_或者[page]),例如:urlrule=$catid-[page].html |
pagesize | 分頁查詢每頁顯示的記錄數量(若是出現catid,系統默認會使用該欄目的分頁數量) |
cache | 數據緩存,單位秒,在這緩存時間內調用緩存文件而再也不去訪問數據庫 |
thumb | 值等於1的時候,顯示有縮略圖的文檔;等於0的時候,顯示無縮略圖的文檔(v1.7) |
form | 調用表單,例如:form=liuyan ,就是調用liuyan的表單數據(v1.7.5) |
site | 站點id,用於多站點調用,例如: site=2 table=content ,就是調用站點2的內容表(v1.7.5) |
fields | 爲sql語句指定字段,例如: fields=title,url ,與sql語法一致(不能使用`),支持自定義字段名稱(v1.7.5) |
extend | 對特殊sql語句進行延展,具體教程傳送口 |
格式: {list 參數1=值1 參數2=值2 ... 參數N=值N} ... 循環體 ... {/list}php
注意:參數和值不能出現引號html
1、參數介紹
一、action
模式選擇參數,支持"推薦位(position)"、"搜索關鍵字(keywords)"、"相關文章(relation)"、"自定義字段信息(field)"模式
例如:推薦位查詢sql
{list action=position id=1} ... {/list}數據庫
返回推薦位id=1的數據並循環
二、return
數據返回變量,默認爲t,循環內直接使用{$t[字段]}數組
{list ... return=item} {$item['title']} {/list}緩存
返回變量就成了$item,而再也不是$t,多層list標籤能夠用它來解決變量衝突
三、more
當其值爲1時,表示聯合附表查詢,必須與catid或者modelid參數聯合使用服務器
{list catid=$catid more=1 cache=36000} ... {$t[附表字段]} ... {/list}oop
可快速查詢出該欄目的自定義字段數據,可配合fields參數減小緩存大小
四、join和on
聯合查詢表名稱,必須與on成對出現測試
{list table=content join=member on=userid} ... {/list}url
表content與member關聯查詢,on是表content中的關聯字段,就是以member表的主鍵與content表的userid字段先關聯查詢
五、page、pagesize(顯示數量)和urlrule(分頁規則)
分頁查詢,若是存在caitd,則使用該欄目的分頁規則和顯示數量,返回分頁結果變量{$pagelist}
{list catid=$catid page=$page} ... {/list}
欄目分頁時,會調用該欄目的分頁規則配置,無需後面兩個參數
六、num
Limit控制,最大顯示數量
{list catid=$catid num=5} ... {/list}
最大顯示5條記錄(能夠寫成num=1,5,表示從1開始到5行結束)
七、order
{list catid=$catid order=updatetime,id} ... {/list}
示例按updatetime降序,id降序,若是升序就附加:字段_ASC(默認是降序)
八、字段做爲參數(同一字段只能出現一次)
{list catid=1 username=admin num=10} ...{/list}
其中的username是內容表中的字段,解析爲:catid=1 and username='admin'
{list NOTcatid=1 num=10} ...{/list}
解析爲:catid not in (欄目集合)
九、cache
緩存參數,推薦list查詢都加上它
{list catid=1 cache=3600} ...{/list}
緩存3600秒(1小時),在3600秒內調用緩存數據而不訪問數據庫,減輕服務器壓力
十、thumb
是否顯示縮略圖
{list thumb=1 cache=3600} ...{/list}
當thumb=1時,表示顯示有縮略圖的文檔,至關於SQL中的thumb<>'';當thumb=0時,至關於SQL中的thumb=''
十一、form
表單數據查詢快捷參數
{list form=liuyan cache=3600} ...{/list}
調用表單,例如表單爲liuyan ,示例就是調用liuyan的表單數據,固然相對應本站點
十二、site
用於查詢指定站點數據
{list site=2 table=content num=10 cache=3600} ...{/list}
站點id,用於多站點調用,示例就是調用站點2的內容表數據
十二、fields
爲sql語句指定字段,與sql語法一致(各個字段不能使用`字段名`,程序會自動爲你加上),支持自定義字段名稱
{list fields=title,url,content catid=1 more=1 num=10 cache=3600} ...{/list}
示例中解析爲SQL是:select `主表`.`title`,`主表`.`url`,`附表`.`content` from ....
2、相關示例
一、欄目查詢
{list catid=$catid order=updatetime num=10} ... {/list}
查詢當前欄目的10條數據,並按updatetime desc排序
二、欄目分頁查詢
{list catid=$catid order=updatetime page=$page} ... {/list}
查詢當前欄目,按照當前欄目默認分頁方式分頁
三、自定義分頁查詢
{list catid=$catid order=updatetime page=$page pagesize=10 urlrule=$catid-[page].html} ... {/list}
分頁查詢,每頁顯示10條,url地址格式爲:欄目id-分頁id.html
四、聯合附表的自定義字段查詢
{list catid=$catid more=1 num=10} ... {/list}
五、Join關聯查詢
{list catid=$catid join=member on=userid} ... {/list}
解析爲:from 內容表 left join member on 內容表.userid=member.主鍵
六、自定義表查詢
{list table=member groupid=1} ... {/list}
查詢member表中groupid=1的用戶
七、插件表查詢
{list table=review.revirew_total contentid=10} ... {/list}
查詢review插件中的表review_total中contentid=10的數據
3、Action參數
一、推薦位(position)
{list action=position id=1 catid=$catid} ... {/list}
id:推薦位的id
catid:可選,根據推薦位的類別而決定
輸出字段請參考position_data表結構,不用解釋太多你們都懂
二、搜索關鍵字(keywords)
{list action=keywords order=addtime} ... {/list}
order:排序字段參考search表
輸出字段請參考search表結構,不用解釋太多你們都懂
三、相關文章(relation)
①、調用手動添加的相關文章
{list action=relation id=$id num=10} ... {/list}
id:文章的id
num:顯示數量,默認10條
②、經過關鍵字自動調用相關文章
{list action=relation tag=$keywords id=$id num=5}...{/list}
id:當前文章id
tag:當前文章的關鍵字
catid:欄目id(可選)
modelid:模型id(可選)
四、自定義字段顯示(field)(適合自定義字段表單顯示)
{list action=field modelid=$modelid name=字段名稱 value=字段默認值} ... {/list}
modelid:欄模型id(必選)
name:字段名稱(必選)
value:字段值(可選)
返回數據{$t['form']}:用於表單顯示(就是一個表單輸入框)
返回數據{$t['data']}:返回複選框、單選按鈕中的選項名稱和值(數組類型,若要輸出請用loop配合)
例:
①、調用模型2中的自定義字段zhiduan(默認值200)的輸入表單
{list action=field modelid=2 name=zhiduan value=200} {$t['form']} {/list}
②、調用模型2中的自定義字段zhiduan(必須是複選框、單選按鈕類型)的值
{list action=field modelid=2 name=zhiduan}
{loop $t['data'] $n=>$v}
名稱:{$n},值:{$v};
{/loop}
{/list}
由於$t['data']是數組類型,說以要用loop循環輸出,不用解釋太多你們都懂
4、特殊字段輔助參數
一、NOTcatid=值
注:NOT只能與欄目catid搭配
表示catid not in (欄目集合),不用解釋太多你們都懂
二、OR字段名稱=值
{list catid=$catid ORuserid=1 ... }
表示where ... catid=$catid or userid=1
三、IN字段名稱=值
{list catid=$catid INstatus=0,1,2 ... }
表示where ... catid=$catid and status in (0,1,2)
四、BW字段名稱=值
{list catid=$catid BWstatus=1,2 ... }
表示where ... catid=$catid and status between 1 and 2
五、LIKE字段名稱=值
{list LIKEtitle=%finecms% ...}
表示where ... title LIKE '%finecms%',不用解釋太多你們都懂
5、返回數據
一、循環變量return=?,默認爲$t
二、分頁變量{$pagelist}
三、SQL查詢字符串{$sql}(用於測試,打印當前查詢的sql語句)
四、統計變量{$total},返回數據總數量
五、循環計數{$key},用於list循環計數變量,從0開始
六、循環統計變量{$count},統計本次循環記錄數量
七、支持多層lsit,防止變量衝突,必須設置不一樣的return值(v1.7.1及以上版本)
若是存在return值,那麼全部變量必須加上後綴"_return值",例如:
{list ... return=s}
循環計數變量:{$key_s}
{/list}
分頁:{$pagelist_s}總數:{$total_s}