article (zh-tw)
From Textbook
Contents |
類型
基本的 article 為單一標籤,通常應用在 頁面 樣板。
此標籤視 屬性 的設置而輸出一篇或多篇文章,如果沒有設定任何屬性,將以預設屬性輸出。
article 具有上下相承的特性,只會獲取目前所檢視的版區或分類下的文章。此標籤應用在首頁時,會列出所有顯示在首頁 的版區之文章。
(這裡有一份關於 <txp:article /> 與 <txp:article_custom /> 的相異處 對照文件 )
語法
article 標籤的語法結構如下...
<txp:article />
屬性
此標籤接受下列的屬性,這些屬性可以視需要個別或搭配使用 (註:屬性區分大小寫):
-
form="form name" - 使用指定的模型。預設為
default。 請見 模型。 -
listform="form name" - 文章列表使用指定的列表模型。
sort="sort option"- (詳情如下) [4.0.4]
-
sortby="sort by" - 依某規則排序。接受的值為:
ID(文章id#)、
AuthorID (作者)、
LastMod (最後修改時間)、
LastModID (最後修改者)、
Posted (最後發表時間)、
Title (標題)、
Category1 (分類一)、
Category2 (分類二)、
comments_count (迴響篇數)、
Status (狀態)、
Section (版區)、
Keywords (關鍵字)、
Image (附加圖片 id#)、
url_title、
與 custom_1 到 custom_10。 註:可以使用多重排列依據,以 , 分隔。 你也可以 先日期再分類 做排序 (details SQL calls that sortby accepts)。 不適用於 4.0.4.
-
sortdir="sort direction" - 文章的排序方向。 接受的值為:
asc(順序排列),ordesc(逆序排列). 不適用於 4.0.4.
-
limit="integer" - 列出的文章篇數。 預設為
10。 -
offset="integer" - 第一篇文章的偏移值。 預設為
0。 -
keywords="keywords" - 只列出含有特定關鍵字的文章。 以 , 分隔。
-
customfieldname="value" - 只列出特定自訂欄位為某值的文章。將 "customfieldname" 以自訂欄位名稱取代。
-
time="time" - 只列出特定時間所發表的文章。接受的值為:
past(過去),future(未來),或any( 包含past(過去) 與future(未來) ). 預設為past. -
status="status" - 依狀態列出文章。 接受的值為:
draft(草稿),hidden(非公開),pending(待審),live(已發表),sticky(置頂). -
allowoverride="integer" - 當設置為
0時,即代表不允許覆蓋預設文章列表模型(does not effect individual articles)。接受的值為1或0。 -
pageby="integer" - 不依靠 older/newer 連結將
<txp:article />分為多段
此參數會告知<txp:article />的新文章與舊文章連結正確的跳躍篇數。此功能新增於 4.0.2。 -
pgonly="integer" - 是否執行文章計數,但不顯示任何東西?當你想要在文章列表 開始之前 顯示搜尋結果計數標籤或文章導覽標籤時使用。接受的值為:
1或0。 -
searchsticky="integer" - 輸出搜尋結果時是否包含 '置頂' 文章。(預設的搜尋結果並不會包含置頂文章)接受的值為
1或0。
只有設置了這個屬性,才能在列表上方顯示頁數標籤或顯示搜尋結果計數標籤。
但必須確認含有 pgonly 屬性的 article 標籤與另外一個 article 標籤的各項其它屬性也要一致。屬性解說
- sort: 這個屬性值的使用方式就像 SQL 查詢子句
order by一樣;以 txp_link 資料表為例,它的任何一個欄位名都可指定 。要指定排序方式,後面可跟著 SQL sort order 排序關鍵字asc(順序、由上至下、第一個到最後一個) 或desc(逆序、由下至上、最後一個到第一個)。某些標籤的排序可使用url、linkname desc、description asc、date asc、rand()等。
範例
範例 1: 使用 Default 模型顯示五篇文章
<txp:article form="default" limit="5" />
範例 2: 從第三篇開始列出五篇文章
<txp:article offset="2" limit="5" />
範例 3: 使用 pageby 屬性來分割輸出的文章列表
<div id="first"><txp:article limit="1" pageby="10" /></div> <div id="middle"><txp:article limit="8" offset="1" pageby="10" /></div> <div id="last"><txp:article limit="1" offset="9" pageby="10" /></div>
另一個範例:
<txp:article limit="5" pageby="10" /> <!-- google ad --> <txp:article limit="5" offset="5" pageby="10" />
pageby 這個數字必須是頁面中所要顯示的文章數量之總和。
當沒有設置 pageby 屬性時,每個 article 標籤將各自代表一串獨立的文章列表列出limit所設定的篇數。From zem's original forum post
範例 5: 依自訂欄位顯示文章
下面這段代碼只會列出文章裡:自訂欄位名稱為 "colour",自訂欄位值為 "red" 的文章
<txp:article colour="red" />




