跳轉到內容

幫助:模板

This page is semi-protected.
來自華夏公益教科書
(從 Wikibooks:SUBST 重定向)

一個模板僅僅是一個設計用於包含在其他頁面上的頁面。如果模板發生更改,這通常會反映在使用該模板的每個頁面上。正如你可能開始想象的那樣,模板是一個強大的工具,當用得好時,可以減少工作量並提高可維護性。在本頁中,你將學習如何使用模板以及如何製作自己的模板。

模板 B 可以包含在頁面 A、P 和 Q 上以顯示其內容。更新模板將更改在使用它的頁面上顯示的內容。


概覽

模板可能包含任何所需的維基文字,包括對其他模板的呼叫。它們具有有限的程式設計能力:可自定義的值(稱為引數)、計算和分支(使用解析器函式)以及對特定於維基的變數的訪問,例如日期、時間和頁面名稱。

要在頁面中使用模板,請新增模板標記(形式為{{template name}},這是包含在雙大括號中的模板名稱),在你希望模板出現的位置。當讀者想要檢視頁面時,伺服器會獲取模板頁面的內容,處理與頁面相關的任何變數,並將結果顯示在模板標記的位置。

模板適用於任何需要在兩個或多個頁面中複製文字的情況,並且不需要獨立編輯每個副本以使其適應所在的頁面。由於可以使用引數,因此版本在一定程度上甚至可以不同,並且引數值可以針對每個獨立編輯。模板不僅方便,而且還可以“強制”有用的統一性,例如,某種“樣式”。

典型應用包括

  • 訊息 用於顯示資訊({{split}})
  • 導航 用於在書籍的頁面或章節之間進行導航,以便更容易地線上閱讀({{chapter navigation}})
  • 用於顯示視覺資訊的佔位符。如表格、圖形、圖表、插圖等。
  • 由簡單影像表格組成的複合體,用於顯示更復雜的想法({{chess diagram}}

模板頁面和名稱空間

模板有自己的名稱空間,它使用字首“Template:”(類似於熟悉的“User:”、“Help:”和“Talk:”名稱空間)。

大多數模板都存在於模板名稱空間中,因此可以在標題為“Template:模板名稱”的頁面上找到。然而,有時使用者會在其他名稱空間中建立模板,例如 User: 名稱空間。模板的正常使用(稱為轉入)可以從任何名稱空間進行,但模板名稱空間的優勢在於轉入時不需要“Template:”字首。相反,為了從除主名稱空間(書籍所在的地方)之外的任何其他名稱空間轉入內容,需要完整的名稱,包括名稱空間字首。如果從主名稱空間(很少這樣做)轉入,則必須在模板語法內新增一個冒號字首,否則軟體會將程式碼視為未建立的模板。因此

名稱空間 編碼示例 結果
模板 {{模板名稱}} 轉入模板內容
模板和主名稱空間外部 {{Wikibooks talk:頁面名稱}} 轉入頁面內容
主名稱空間 {{:書名}} 轉入書籍內容
沒有冒號的主名稱空間 {{書名}} 紅色連結 到未建立的模板

模板名稱與其他頁面名稱完全相同:區分大小寫,但第一個字母除外,空格與下劃線不可區分。如果符號 #(通常用於連結到頁面的部分)出現在花括號內,則它以及任何跟隨它的字元將被忽略。

模板頁面,像大多數其他頁面一樣,與它們關聯著討論頁面,編輯人員可以在那裡討論與模板相關的任何問題。(因此,即使模板是為在討論頁面上使用而設計的,也不應將其放置在“Talk:”名稱空間中;因為討論頁面本身沒有討論頁面,所以將沒有頁面可以用來討論模板。)

模板用法

要將模板轉入另一個頁面,請使用以下語法(稱為模板標記

{{ 模板名稱 | 引數 | 引數 | ... }}

這包括模板名稱和傳遞給模板的各種引數,其中每個引數由一個豎線(或管道)分隔,並且整體被雙大括號包圍,{{...}}。模板標記應該放置在希望模板出現的頁面上的任何位置。“Template:”字首在轉入時永遠不需要,只需要在查詢和編輯模板本身時才需要(儘管如果模板是在不同的名稱空間中建立的,則需要該字首)。並非所有模板都有引數,並非所有具有引數的模板都需要提供值,因此有時 {{模板名稱}} 就足以使用模板。如果需要引數,但使用者沒有提供值,則模板可能會呈現類似於 {{{...}}} 的內容,其中 '...' 可能是一個數字或引數名稱。這是為了通知使用者缺少命名或未命名引數,可以透過使用引數預設值 來避免這種情況。

引數有兩種基本形式

  • 未命名引數(有時稱為“位置”引數):按其出現順序放入模板中的值
    {{模板名稱|引數1|引數2|... }}
  • 命名引數:與模板中特定命名鍵關聯的值
    {{模板名稱| 引數名稱1 = 引數1 | 引數名稱2 = 引數2 | ... }}

這些可以混合使用

{{模板名稱|引數1|引數2| 引數名稱1 = 引數3 | 引數名稱2 = 引數4 | ... }}

按照慣例,命名引數列在最後,但這並不是一項要求。空格字元(空格、製表符、回車)從命名引數值的開頭和結尾(未命名引數不受影響)剝離,但不會從中間剝離:因此 {{ ... | myparam = this is a test }} 將被視為使用者輸入了 {{ ... |myparam=this is a test}}。

模板頁面本身可能包含不會與模板一起轉入的材料(例如文件或模板本身所屬的類別),或者在頁面被轉入時使用的材料(例如類別,這些類別適用於轉入頁面,但不適用於模板)。請參閱下文關於includeonlynoinclude 標籤的討論。

嘗試轉入不存在的模板會產生一個紅色連結,就像連結到任何其他不存在的頁面一樣。點選連結可以建立該特定模板。

基本模板用法示例

如果你想嘗試其中任何一個,請使用模板沙盒

無引數模板

要檢視一個非常簡單的模板的示例,請檢視Template:Tc。該模板只做了一件事,就是將字母“in”轉入其他頁面。例如,將以下短語編輯到任何頁面將產生相關的結果

使用模板 {{tc}}
描述 輸入的文字 處理後的結果
{{Tc}} 本身 {{tc}} in
單次使用 {{tc}} {{tc}} 2009年,隨著巴拉克·奧巴馬入住白宮,我們發現……的開始 in 2009年,隨著巴拉克·奧巴馬入住白宮,我們發現……的開始
多次使用 {{tc}} {{tc}} 2009年,隨著巴拉克·奧巴馬入住白宮,我們發現……的開始 in 2009年,隨著巴拉克·奧巴馬入住白宮,我們發現……的開始

您會注意到,模板在被包含時只包含字母“in”,儘管模板頁面的說明文字(“此模板用於...” 點選上面的模板連結檢視)。如果您編輯模板頁面(點選 此連結),您會看到除字母“in”之外的所有內容都被包含在 'noinclude' 標籤中,將在後面討論。

帶有名稱引數的模板

使用引數進行包含只稍微複雜一些。舉個簡單的例子,著名的 死人手 可以透過以下模板使用無名引數來複制

製作死人手
描述 輸入的文字 處理後的結果
使用三個模板(Template:ClubsTemplate:Diamonds,以及 Template:Spades {{clubs|A}} {{clubs|8}} {{spades|A}} {{spades|8}} {{diamonds|9}} A 8 A 8 9
使用(Template:BridgeHandInline);雖然不那麼漂亮,但只有一個模板,有四個引數。 {{BridgeHandInline|A8||9|A8}} ♠A8 9 ♣A8
使用(Template:BridgeHandInline),但缺少管道分隔符 {{BridgeHandInline|A8|9|A8}} ♠A8 9 A8 ♣{{{4}}}

在第二個例子中,引數在模板標籤中的位置決定了它屬於哪種花色。因此,第一個 A8(第一個槽位)屬於黑桃,空位置(第二個槽位)屬於紅桃,9(第三個槽位)屬於方塊,第二個 A8(第四個槽位)屬於梅花。請注意,空引數位置是計算在內的;如果忘記了額外的管道,如第三個例子所示,結果是卡片會出現在錯誤的位置,並且會出現 {{{4}}},這意味著模板正在等待第四個位置引數的值,但沒有提供。

帶有名稱引數的模板

使用有名稱引數類似於使用無名引數。例如,Template:Payoff matrix(在一些關於 博弈論 的書籍中使用)給出了一個簡單的 2x2 網格,具有可調整的值,使用 UL、UR、DL 和 DR 來表示左上、右上、左下和右下,以及一個 Name 引數來在矩陣底部新增一個名稱。

描述 程式碼 結果
收益矩陣 {{payoff matrix | UL = 5 | UR = 7 | DL = 2 | DR = 9 | Name = Example usage }}
5 7
2 9
Example usage
顯示缺失引數的預設值以及其他引數不同順序的收益矩陣 {{payoff matrix | DR = 9 | Name = Example usage | DL = 2 | UR = 7 }}
0, 0 7
2 9
Example usage

在第二種情況下,引數的順序已經改變,但結果沒有改變——這是有名稱引數相對於無名引數的優勢之一——並且一個值(UL)已經被完全刪除,允許模板插入預設值“0, 0”。

引數名稱區分大小寫,即使在第一個字元也是如此。例如,使用“dr = 9”“Dr = 9”“dR = 9” 而不是 “DR = 9” 會導致右下單元格顯示預設值“0, 0”。大小寫不同的版本被視為不同的引數,會被模板忽略。

替換

通常,模板在使用者瀏覽頁面時被處理成可讀文字。這是模板的正常目的:由於模板在每次使用時都會重新評估,因此對模板的更改可以快速輕鬆地傳播到許多頁面。但是,偶爾情況下,這並不合適。例如,使用者可能想要一個模板,該模板返回一個固定日期或時間,而不是每次瀏覽頁面時都改變。對於這些情況,有替換,這可以透過在模板標籤中的模板名稱前新增subst:來完成。替換完全符合它的名字:與其每次瀏覽頁面時處理模板,替換在儲存編輯時處理模板,並將模板標籤替換為處理後的結果。

例如,模板 {{tc}}(如上所示)在任何地方放置它都會新增字母“in”。因此,維基文字bra{{tc}} 會生成單詞brain。但是,維基文字將始終保持為bra{{tc}},因此,如果 {{tc}} 被更改,以便它新增字母“wn”,維基文字將生成brawn 而不是brain。像這樣進行替換 - bra{{subst:tc}} - 將永久更改維基文字為brain,並且以後對模板 {{tc}} 的更改將不會影響替換的文字。

常見錯誤

URL 問題

URL 可能包含等號(=),例如 http://some.page.org?key=value&key2=value2。但是,模板引數列表中的第一個等號始終被視為設定了一個有名稱的模板引數。因此 {{some template|http://some.page.org?key=value&key2=value2}} 會被視為http://some.page.org?key 是一個引數名稱,而不是一個 URL 的開頭。有兩種解決此問題的方法

  • 使用顯式的位置引數引用:{{some template|1=http://some.page.org?key=value&key2=value2}}。'1=' 顯式地引用第一個位置引數,並將避免後續的等號
  • 使用特殊模板 {{=}}:{{some template|http://some.page.org?key{{=}}value&key{{=}}value2}}。此模板返回一個不會被維基軟體解析或解釋的等號。

空格問題

有名稱 引數會自動刪除引數中的空格 - 空格、製表符、回車符和換行符或其他不可見字元。無名 引數將保留所有空格。這會導致預期行為錯誤的奇怪格式問題。

垂直管道問題

垂直管道字元(|)用於模板(和解析器函式)中分隔引數。如果您需要向模板引數提供管道字元,請使用特殊模板 {{!}},它返回一個未解析的管道字元,或者使用 HTML 實體 | 用於管道字元。

建立和編輯模板

模板的建立和編輯方式與其他任何頁面基本相同:選擇一個合適的名稱,導航到該頁面,然後點選編輯選項卡或根據需要建立一個新頁面。唯一的真正區別是,模板通常會放置在“Template:”名稱空間中,而不是(無字首的)主名稱空間中。任何可以在普通頁面上包含的內容都可以包含在模板中,包括其他模板。除此之外,模板還可以訪問程式設計功能——引數解析器函式變數——這些功能允許上下文相關的使用,以及幫助控制哪些資訊被包含以及哪些資訊不被包含的特殊標籤。

建立模板時,最好遵循一些簡單的原則

  • 選擇一個簡短、描述性的名稱。有些人建議通用模板名稱完全用小寫字母表示,而特定書籍的模板名稱使用Template:Book Name/Template Name 的形式,但目前還沒有硬性規定。
  • 快速 搜尋 模板空間或 瀏覽模板,以確保您要建立的模板尚未存在。有時,增強現有模板比從頭開始建立新模板更容易、更好。
  • 確保您的模板有適當的文件,幷包含在正確的類別中。(見下文)
  • 嘗試使您的模板模組化:即能夠獨立存在於各種不同的頁面環境中,而不會出現故障、生成不良輸出或弄亂頁面的佈局。一般來說,您希望您的模板對其他編輯者來說是透明的、有用的——他們需要投入多少精力來理解您的模板的使用方式,他們就越不願意使用它。

模板文件

對您的模板進行分類並對其進行文件化將使其他編輯者更容易找到和使用它。

  • 要新增文件,請將 {{documentation}} 模板放在模板頁面的 'noinclude' 標籤中。這將建立一個文件子頁面,您可以編輯它。
  • 適用於模板本身的類別應該新增到模板頁面(在 'noinclude' 標籤中,使用 {{documentation}} 模板)。要包含到包含頁面的類別應該放在模板頁面的 'includeonly' 標籤中。

引數

引數是允許向模板提供維基文字的特殊程式碼;可以構建模板以根據它接收的引數的值產生不同的結果。引數可以有名稱,也可以透過在模板標籤中提供的值的位置來引用(模板程式碼中引數的順序無關緊要)。模板中的引數採用 {{{...}}} 的形式,其中三重的捲曲括號包圍著一個有名稱的引數的名稱或一個位置引數的編號。輸入的引數值可以很長,如果需要,可以將整個頁面的包含用作引數的值。

要檢視引數是如何工作的,請考慮以下示例。假設有一個名為 'peoplepets' 的模板,它生成一些關於人和他們寵物的文字。此模板的模板標籤可能如下所示

A. {{ peoplepets | John | Mary | age = 6 | Fido | small | kind = dog }}
B. {{ peoplepets | Bill | Susan | age = 7 | Queenie | fat | kind = cat }}

模板本身的內容,在頁面 Template:Peoplepets 上,如下所示

{{{1}}}{{{2}}} 擁有一隻 {{{4}}} {{{kind}}},名叫 {{{3}}},它 {{{age}}} 歲。

因此,上面的兩個模板標籤將分別轉入以下文字

A. 約翰和瑪麗養了一隻名叫菲多的小狗,它 6 歲。
B. 比爾和蘇珊養了一隻名叫奎妮的胖貓,它 7 歲。

需要注意的事項

  • 位置引數的編號會跳過命名引數(如上面的“age”)
  • 模板標籤中命名引數值的開頭和結尾空格將被模板剝離。
    • 這對於未命名引數並不適用,它們會保留結尾和開頭空格。但是,瀏覽器會將多個空格字元渲染為單個空格,因此“菲多”、“胖”和其他未命名引數值周圍的額外空格並不明顯。如果未命名引數用於顯示以外的其他用途(如連結),這可能會造成混淆。
  • 命名引數值在模板中使用的順序無關緊要。
  • 位置引數的編號被視為名稱:{{ peoplepets | John | ... }} 可以寫成 {{ peoplepets | 1 = John | ... }}。當位置引數需要按非順序輸入或位置引數值包含等號時,這很有用。
  • 值可以為空。這裡,第二個位置引數和“age”引數的值為空
    模板標籤:{{ peoplepets | John || age = | Fido | small | kind = dog }}
    產生(注意缺失的單詞):約翰和 擁有一隻名叫菲多的小狗,它 歲。
  • 值可以保持未提供。這裡,“kind”引數被省略了
    模板標籤:{{ peoplepets | John | Mary | age = 6 | Fido | small }}
    產生(這顯示了缺失的引數):約翰和瑪麗養了一隻名叫菲多的小 {{{kind}}},它 6 歲。

引數預設值

可以使用豎線字元:| 為引數指定預設值。上面的示例模板可以改寫如下(其中“friend”是位置引數 2 的預設值,第 4 個位置引數預設為空,寵物的“kind”預設為“dog” - 請參見 Template:Peoplepetsd

{{{1}}}{{{2|friend}}} 擁有一隻 {{{4|}}} {{{kind|dog}}},名叫 {{{3}}},它 {{{age}}} 歲。

像以下這樣的模板標籤:{{ peoplepetsd | Bill | age = 7 | 3=Queenie }} 將會產生短語“比爾和朋友養了一隻名叫奎妮的狗,它 7 歲”。

請注意,在狗的名字之前需要“3=”,因為沒有指定第二個位置引數。

引數的空值將覆蓋預設值,產生一個空空格。換句話說,{{ peoplepetsd | Bill || kind=| age = 7 | 3=Queenie }} 將會產生短語“比爾和 擁有一隻 叫奎妮的狗,它 7 歲”。

虛擬引數和標籤佈局

如果模板標籤提供了未使用模板中的引數,則會忽略這些引數。這樣做的目的是為了防止在模板以移除引數的方式更改時,轉入導致出錯。無需訪問轉入模板的每個頁面並更改標籤。然而,這樣做有一個額外的好處,即透過空格或添加註釋,使一些模板標籤更具可讀性。使用 {{t3d}}

虛擬引數
描述 輸入的文字 結果
使用模板 {{t3d}} 添加註釋
{{t3d |a|b|c| row 1
      |d|e|f| row 2
      |g|h|i| row 3
}}
a b c

d e f
g h i

由於 {{t3d}} 不使用引數 {{{4}}}{{{8}}}{{{12}}},“行號”值對生成的維基文字沒有影響。虛擬命名引數可以在任何模板標籤中使用;只需選擇一個未使用的引數名稱並將其新增為“unusedname = value”。命名虛擬引數的一個特殊情況是使用空字串作為引數名稱。

對引數和引數值的限制

  • 未命名的引數不能被分配包含等號 (=) 的值;解析器會將等號視為命名引數的賦值。有多種間接方法可以解決此限制
    • 在模板中,將值寫為未定義引數的預設值
      • {{{0}}},其中省略號可以是未使用的位置引數的編號,也可以是空字串(空引數)。
    • 在頁面中,使用以下方法之一將值分配給模板引數
      • {{templatename| 1= a=b }},其中“1=”表示法明確命名了第一個未命名引數。
      • 使用特殊模板 {{=}},例如,{{template name| a{{=}}b }}
      • 使用 HTML 實體 代表等號:=。這僅適用於文字表示;如果等號需要被處理為實際的等號(如在另一個模板中),這種方法將不起作用。
  • 引數值不能包含豎線 (|) 字元;解析器會將豎線字元視為分隔符,而不是文字。管道可以在維基連結(country=[[United States|USA]]) 或巢狀模板(例如,volume= {{convert|30|acre.ft|m3}})中使用。解決此限制的間接方法如下
    • 使用特殊模板 {{!}},它會返回一個有效的豎線字元。如果需要一個將被讀取為實際的豎線字元的內容(例如,如果使用引數修改維基文字表格的結構),請使用此方法
    • 使用豎線的 HTML 實體:|。這僅適用於文字表示;如果管道需要被處理為實際的管道,這種方法將不起作用。
  • 引數值不能包含不匹配的連續花括號 - }} 或 {{。解析器會嘗試將它們解析為模板標籤或引數的開頭或結尾,並在某個地方丟擲錯誤。但是,引數可以包含其他引數、魔術字或模板標籤。
    • 同樣,可以使用“nowiki”標籤或 HTML 實體來解決這個問題。

巢狀模板

模板可以包含其他模板 - 通常稱為“巢狀”。在處理模板時,任何巢狀模板產生的維基文字都會被轉入巢狀模板,因此最終的產品本質上是從最深層的巢狀模板開始處理的。雖然在應用中相當簡單,但它涉及一些值得注意的怪癖和技巧。

要將引數值傳遞給巢狀模板,請將引數標籤放在巢狀模板引數的值中。

  • 示例
    • 模板:A 包含“the quick brown {{B|{{{3}}} }} jumped over...”。這將傳遞給模板:A 的第三個位置引數的值作為模板:B 的第一個位置引數傳遞,然後將 B 生成的維基文字作為短語的一部分返回。
    • 模板:A 包含“the quick brown {{B|waldo={{{3}}} jumped over...”。與上面類似,除了將模板:A 的第三個位置引數傳遞給模板:B 的命名引數“waldo”。

模板可以呼叫自身,但會在一次迭代後停止,以防止無限迴圈。

Noinclude、includeonly 和 onlyinclude

有多個標籤可用於控制從模板中轉入和不轉入的內容。這三個標籤是 noinclude、includeonly 和 onlyinclude。

noinclude

“noinclude”標籤用於阻止模板頁面上的文字轉入其他頁面。這通常用於

  • 文件
  • 應用於模板本身的類別
  • 跨維基連結 到其他維基上的相關模板。

它的使用很簡單

如果這段文字位於模板頁面中,這部分將被轉入
<noinclude>但這段文字不會被轉入</noinclude>

includeonly

“includeonly”標籤與“noinclude”標籤相反。includeonly 塊中的文字在頁面被轉入時包含,它不會出現在模板頁面本身。這經常用於

  • 應用於轉入頁面的類別
  • 隱藏模板頁面本身出現的混亂文字或錯誤訊息(通常是因為需要值的引數未定義)

它的使用很簡單

如果這段文字位於模板頁面中,這部分將出現在模板頁面和轉入頁面
<includeonly>但這段文字只會出現在轉入頁面</includeonly>

onlyinclude

“onlyinclude”標籤實際上只包含標籤之間的內容;頁面上的任何其他內容 - 即使是“includeonly”標籤中的文字 - 也會出現在模板頁面,但不會被包含。這並不常用,但當需要轉入一個大頁面中一小段文字時,它可能很有用。

它使用方式如下

如果這段文字位於模板頁面中,這部分將在此處可見,但不會被轉入
<includeonly>這段文字將不會在模板頁面上可見,也不會被轉入</includeonly>
<onlyinclude>這部分文字將是唯一被轉入的內容</onlyinclude>

變數

系統變數採用格式 {{...}},其中括號內的文字始終全部大寫。它們直接提供來自系統本身的資訊:本地日期和時間、當前頁面資訊,甚至維基百科本身的資訊。

系統變數示例
描述 輸入的文字 結果(對於此幫助頁面)
頁面名稱 {{PAGENAME}}
{{FULLPAGENAME}}
模板
Help:Templates
當前名稱空間的名稱 {{NAMESPACE}} Help
註冊使用者數量 {{NUMBEROFUSERS}} 3,477,764
最後修訂的時間戳 {{REVISIONTIMESTAMP}} 20211117190007

PAGENAME 和 NAMESPACE 變數特別有用,而且經常使用,用來根據上下文更改模板的行為。例如,如果模板包含一個 類別(例如清理模板,將頁面歸類為需要清理的頁面),它通常會檢查 NAMESPACE 變數,以確保對話頁面、使用者頁面或其他可能偶然放置該標籤的地方本身不會被歸類為需要清理的頁面。

解析器函式和模組

解析器函式是用於執行簡單分支和文字操作的工具。它們接受一個或多個引數,並根據這些引數返回一個維基文字值。解析器函式有兩種基本形式(區別在於開括號後面是否跟著一個井號)

  • 核心解析器函式,形式為 {{functionName: 引數 | 引數 | ... }}。
  • 來自軟體擴充套件的解析器函式,形式為 {{#functionName: 引數 | 引數 | ... }}。

解析器函式主要用於評估 引數變數,以便在不同的上下文中產生不同的結果。

核心解析器函式通常處理文字操作和特定專案任務。

核心解析器函式示例
描述 輸入的文字 結果
將文字轉換為大寫 {{uc: Heavens to BETSY! }} HEAVENS TO BETSY!
將文字轉換為小寫 {{lc: Heavens to BETSY! }} heavens to betsy!
獲取名稱空間名稱 {{NS: 1 }} Talk
獲取 Wikibooks URL {{fullurl: pagename }} //wikibook.tw/wiki/Pagename

擴充套件功能提供更多面向程式設計的解析器函式。

擴充套件解析器函式示例
描述 輸入的文字 結果
在選項之間進行測試 {{#ifeq: yes | yes | Hooray...! | Darn...! }}
{{#ifeq: yes | no | Hooray...! | Darn...! }}
Hooray...!
Darn...!
測試引數是否已設定 {{#if: {{{param|}}} | Hooray...! | Darn...! }} Darn...!
進行計算 {{#expr: ( 27 * 46 / pi ) round 2 }} 395.34

其他型別的計算和字串操作函式,例如查詢和替換,可以透過 Module:String其他模組 執行。這些模組也類似地接受一個或多個引數。

使用 Module:String 進行字串替換的示例
描述 輸入的文字 結果
字串替換 {{#invoke:String|replace| 90 degrees | degrees | ° }} 90 °

其他編輯資訊

  • 如果模板中包含的第一個字元是維基標記字元 :;*# 中的一個,那麼它將被處理為好像它在行首一樣(即使模板標籤不在行首)。這允許在模板中建立各種型別的列表,其中模板可能並不總是在列表的正確位置。要避免這種效果,請使用<nowiki>#</nowiki>HTML 實體,例如&#58;表示冒號。這在結合使用定義 列表 時也很有用。
  • 當被要求轉入的頁面是一個重定向頁面時,會轉入重定向目標頁面。

包含模板的頁面的修訂歷史

儲存在 頁面歷史 中的頁面由維基文字組成,其中可能包含對模板和影像的引用。檢視頁面的舊版本時,這些引用將引用模板和影像的當前版本(如果它們仍然存在)。因此,不會重建以前的組合頁面。

另請參閱


華夏公益教科書