社区中心
Advertisement
此擴充功能已在Fandom上預設啟用

解析器函數(Parser functions)是使用於MediaWiki的一些特殊語法,可以擴充模板的功能使用邏輯運算。當使用的時候,解析器函數會使用式子中的變量得出特定的結果。本功能目前在Fandom是預設開放的。

解析器函數的寫法與模板相同,放在波型括號({{}})之中。可能用一個冒號或是數字符號(#) 標示之後帶出function名稱 (或兩者都用,例如 {{#if:}}).

在一個wiki中可以使用的解析器函數會列在Special:Version

使用步驟[]

  1. 確認適合你想要達成作用的解析器函數。有許多種類的解析器函數,因此需要先花時間作一了解。
    在這些步驟說明中有連結到各個函數更詳細介紹頁面的資訊。
  2. 確認你想要用的函數的合適語法。
    在這個步驟指引中,我們會使用{{#ifexpr:}} (if expression) 解析器函數,該函數是各Fandom站預設啟用的。它的語法是:
    {{#ifexpr: 式子 | 如果為真時顯示為 | 如果為假時顯示為 }}
  3. 填寫語法。
    {{#ifexpr: 1 > 0 | 是 | 否 }}
    在上面的例子中,我們填寫了數學的式子,當1>0為正確時,設定函數顯示「是」,1>0為錯誤時顯示為「否」。
  4. 儲存頁面並確認函數得出的結果如你的預期。在我們的例子中,應該要顯示為「是」,因為1的確就是大於0。
    {{#ifexpr: 1 > 0 | 是 | 否 }}.
    注意當我們改變了式子,而讓顯示值一樣的時候會變成如何,該等式被證明是錯誤,因為0不會大於1,因此會得出「否」
    {{#ifexpr: 1 < 0 | 是 | 否 }}.

上述的例子可能看起來很笨,因為大家都知道 1 > 0, 解析器函數的效力在用一個變量的時後就能展現出來。例如假如你正在設計一個關於電視節目的資訊框。你希望顯示角色的年紀,並藉此判定他是否是成年人。

如果在資訊框中有{{#ifexpr: {{{年紀}}} >= 18 | 這個角色是成年人 | 這個角色未成年}},「年紀」這個變數中的數值大於等於18時,最後會顯示「這個角色是成年人」 ,當小於18時,會顯示「這個角色未成年」

內建於MediaWiki的解析器函數[]

MediaWiki軟體本身就有內建許多解析器函數:完整的列表可見於 MediaWiki.org,本頁則列出其中最有用的。

{{fullurl:}}
顯示特定頁面的完整網址
{{fullurl:Help:內容}}https://community.fandom.com/zh/wiki/Help:%E5%85%A7%E5%AE%B9
{{#language:}}
將一個語言代碼轉換為該語言在該語言中的名稱
{{#language:zh}} → 中文
{{lc:}}
讓一段字母變成小寫 ({{uc:}}則剛好相反)。
{{lc:CASE}} → case
{{ns:}}
寫出命名空間編號 就得出命名空間的名稱。
{{ns:4}} → 社区中心
{{PLURAL:}}
提供數值1的時候,顯示單數的用詞,提供數值2的時候,顯示複數的用語。
{{PLURAL:1|is|are}} → is
{{PLURAL:2|is|are}} → are

解析器函數擴充功能[]

Ifelselogic

解析器函數擴充功能使用簡單的邏輯而產生實用的代碼。

解析器函數擴充功能是一個常用的MediaWiki擴充功能,它增加了許多有用的解析器函數。這個擴充功能目前在Fandom是預設啟用的。該擴充功能中也包括了已不再使用的擴充功能StringFunctions中大部分的函數,其中最常用的是 {{#explode}}

解析器函數擴充功能中有包括數學運算、如果/其他 等陳述、以及時間等等函數。要看這些函數的完整列表以及如何使用它們,請參見:擴充功能的官方說明頁面(英語)

其他擴充功能[]

Fandom上還有很多其他常用的擴充功能,其中還有一些解析器函數。以下是一些常見的。

因此如果某個擴充功能有你感興趣的函數在裡面,請參見MediaWiki.org上該擴充功能的說明頁面。

參閱[]

be:Help:Сінтаксічны аналізатар

Advertisement