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}
注意:參數和值不能出現引號
一、參數介紹
1、action
模式選擇參數,支持推薦位(position)、搜索關鍵字(keywords)、相關文章(relation)、自定義字段信息(field)模式
例如:推薦位查詢
{list action=position id=1} ... {/list}
返回推薦位id=1的數據并循環
2、return
數據返回變量,默認為t,循環內直接使用{$t[字段]}
{list ... return=item} {$item[title]} {/list}
返回變量就成了$item,而不再是$t,多層list標簽可以用它來解決變量沖突
3、more
當其值為1時,表示聯合附表查詢,必須與catid或者modelid參數聯合使用
{list catid=$catid more=1 cache=36000} ... {$t[附表字段]} ... {/list}
可快速查詢出該欄目的自定義字段數據,可配合fields參數減少緩存大小
4、join和on
聯合查詢表名稱,必須與on成對出現
{list table=content join=member on=userid} ... {/list}
表content與member關聯查詢,on是表content中的關聯字段,就是以member表的主鍵與content表的userid字段先關聯查詢
5、page、pagesize(顯示數量)和urlrule(分頁規則)
分頁查詢,如果存在caitd,則使用該欄目的分頁規則和顯示數量,返回分頁結果變量{$pagelist}
{list catid=$catid page=$page} ... {/list}
欄目分頁時,會調用該欄目的分頁規則配置,無需后面兩個參數
6、num
Limit控制,最大顯示數量
{list catid=$catid num=5} ... {/list}
最大顯示5條記錄(可以寫成num=1,5,表示從1開始到5行結束)
7、order
{list catid=$catid order=updatetime,id} ... {/list}
示例按updatetime降序,id降序,如果升序就附加:字段_ASC(默認是降序)
8、字段作為參數(同一字段只能出現一次)
{list catid=1 username=admin num=10} ...{/list}
其中的username是內容表中的字段,解析為:catid=1 and username=admin
{list NOTcatid=1 num=10} ...{/list}
解析為:catid not in (欄目集合)
9、cache
緩存參數,推薦list查詢都加上它
{list catid=1 cache=3600} ...{/list}
緩存3600秒(1小時),在3600秒內調用緩存數據而不訪問數據庫,減輕服務器壓力
10、thumb
是否顯示縮略圖
{list thumb=1 cache=3600} ...{/list}
當thumb=1時,表示顯示有縮略圖的文檔,相當于SQL中的thumb<>;當thumb=0時,相當于SQL中的thumb=
11、form
表單數據查詢快捷參數
{list form=liuyan cache=3600} ...{/list}
調用表單,例如表單為liuyan ,示例就是調用liuyan的表單數據,當然相對應本站點
12、site
用于查詢指定站點數據
{list site=2 table=content num=10 cache=3600} ...{/list}
站點id,用于多站點調用,示例就是調用站點2的內容表數據
12、fields
為sql語句指定字段,與sql語法一致(各個字段不能使用`字段名`,程序會自動為你加上),支持自定義字段名稱
{list fields=title,url,content catid=1 more=1 num=10 cache=3600} ...{/list}
示例中解析為SQL是:select `主表`.`title`,`主表`.`url`,`附表`.`content` from ....
二、相關示例
1、欄目查詢
{list catid=$catid order=updatetime num=10} ... {/list}
查詢當前欄目的10條數據,并按updatetime desc排序
2、欄目分頁查詢
{list catid=$catid order=updatetime page=$page} ... {/list}
查詢當前欄目,按照當前欄目默認分頁方式分頁
3、自定義分頁查詢
{list catid=$catid order=updatetime page=$page pagesize=10 urlrule=$catid-[page].html} ... {/list}
分頁查詢,每頁顯示10條,url地址格式為:欄目id-分頁id.html
4、聯合附表的自定義字段查詢
{list catid=$catid more=1 num=10} ... {/list}
5、Join關聯查詢
{list catid=$catid join=member on=userid} ... {/list}
解析為:from 內容表 left join member on 內容表.userid=member.主鍵
6、自定義表查詢
{list table=member groupid=1} ... {/list}
查詢member表中groupid=1的用戶
7、插件表查詢
{list table=review.revirew_total contentid=10} ... {/list}
查詢review插件中的表review_total中contentid=10的數據
三、Action參數
1、推薦位(position)
{list action=position id=1 catid=$catid} ... {/list}
id:推薦位的id
catid:可選,根據推薦位的類別而決定
輸出字段請參考position_data表結構,不用解釋太多大家都懂
2、搜索關鍵字(keywords)
{list action=keywords order=addtime} ... {/list}
order:排序字段參考search表
輸出字段請參考search表結構,不用解釋太多大家都懂
3、相關文章(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(可選)
4、自定義字段顯示(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循環輸出,不用解釋太多大家都懂
四、特殊字段輔助參數
1、NOTcatid=值
注:NOT只能與欄目catid搭配
表示catid not in (欄目集合),不用解釋太多大家都懂
2、OR字段名稱=值
{list catid=$catid ORuserid=1 ... }
表示where ... catid=$catid or userid=1
3、IN字段名稱=值
{list catid=$catid INstatus=0,1,2 ... }
表示where ... catid=$catid and status in (0,1,2)
4、BW字段名稱=值
{list catid=$catid BWstatus=1,2 ... }
表示where ... catid=$catid and status between 1 and 2
5、LIKE字段名稱=值
{list LIKEtitle=%finecms% ...}
表示where ... title LIKE %finecms%,不用解釋太多大家都懂
五、返回數據
1、循環變量return=?,默認為$t
2、分頁變量{$pagelist}
3、SQL查詢字符串{$sql}(用于測試,打印當前查詢的sql語句)
4、統計變量{$total},返回數據總數量
5、循環計數{$key},用于list循環計數變量,從0開始
6、循環統計變量{$count},統計本次循環記錄數量
7、支持多層lsit,防止變量沖突,必須設置不同的return值(v1.7.1及以上版本)
如果存在return值,那么所有變量必須加上后綴_return值,例如:
{list ... return=s}
循環計數變量:{$key_s}
{/list}
分頁:{$pagelist_s}
總數:{$total_s}
相關文章
張宗收,中國書畫家協會理事.中國藝術品簽定師、評估師、經紀人,吉林收藏家協會副會...2025-03-18
合肥網站維護:為您的線上平臺注入持久活力2025-03-16
2025年20個免費發布b2b商務網站2025-03-15
誰能說說有哪些免費發布供應信息的b2b網站2025-03-15
傳統供應鏈企業轉型生態平臺實戰——內蒙古食全食美美通倉案例2025-03-14
共筑農業新生態 | 愛助農2025區域合伙人年會圓滿落幕,千萬元賦能開啟智能轉型...2025-03-14
如何免費推廣自己的小程序2025-03-09
蕓傳奇 鹿鞭多寶丸 桑葚鹿鞭多寶丸2025-03-04
中啟未來國際教育集團 吉林省中啟未來教育科技集團有限公司2025-02-28
長春網站設計:以匠心勾勒數字藍圖,賦能城市未來2025-02-28