finecms萬能標籤list

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}

相關文章
相關標籤/搜索