DokuWiki

It's better when it's simple

使用者工具

網站工具


側欄

這份翻譯較原始頁面舊,可能已過時。 檢視變更
本頁之翻譯?:

Learn about DokuWiki

Advanced Use

Corporate Use

Our Community


Follow us on Facebook, Twitter and other social networks.

Our Privacy Policy

zh-tw:namespace_templates

分類名稱的樣板

或許您會希望在特定的分類名稱(namespace,或稱命名空間)底下建立新頁面時,能出現預設的內容格式,例如在address這個分類名稱下建立新頁面時,會自動帶出預先做好的通訊錄表格,您只需依表格填寫內容,這就是所謂的分類名稱樣板(namespace templates)。

建立新頁面時,DokuWiki會先查詢對應的樣板檔案,並將內容顯示於編輯視窺內。所以樣板檔為.txt檔,並含有wiki格式標記。

樣板檔

樣板檔有兩種:

  • _template.txt,可套用於目前所在的分類名稱。
  • __template.txt(雙下底線),可套用於目前所在的分類名稱,及所有子分類名稱。

建立樣板檔的方法:

  • 使用wiki在在適當的分類名稱之下,建立含有樣板內容的頁面。
  • 使用FTP或WebDAV,複製一份上述的檔案,並更改檔名為_template.txt或__template.txt。
  • 在wiki中刪除原始頁面。

語法

樣板檔的內容語法與一般頁面相同。

可用變數

在樣板檔內使用下列變數,可使頁面擁有動態內容:

@ID@ 完整的頁面 ID
@NS@ 頁面的 namespace
@PAGE@ 頁面名稱 (不含分類名稱,且下底線會被置換為空白)
@!PAGE@ 同上,但第一個字母為大寫
@!!PAGE@ 同上,但每個字的第一個字母為大寫
@!PAGE!@ 同上,但所有字母均為大寫
@FILE@ 頁面名稱(不含分類名稱,且下底線維持原樣)
@!FILE@ 同上,但第一個字母為大寫
@!FILE!@ 同上,但所有字母均為大寫
@USER@ 建立這頁面的使用者帳號
@NAME@ 建立這頁面的使用者名稱
@MAIL@ 建立這頁面的使用者 E-Mail
@DATE@ 開始建立、編輯頁面的日期和時間

此外,您可利用strftime加入各種格式的時間資訊。如果您要在樣板內容中使用 % 字元,務必要用重覆鍵入兩個才會正常顯示。

編輯樣板

您無法在DokuWiki中直接編輯樣板內容,除非您有權限可以直接編輯DokuWiki目錄下的檔案(通常是系統管理者)。但有兩個小技巧可以達成此目的,其一涉及檔案的連結,另一個涉及程式碼的修改。

經由檔案連結樣板

此方法可以將樣板檔儲存在特別的分類名稱中,再以連結來取用該樣板。您也可以不建立連結,使該樣板成為不可編輯的樣板。

  1. 建立一個名為“templates”的分類名稱(或類似名稱)。
  2. 在上述分類名稱中,建立一個頁面整理所有的樣板檔。
  3. 接著在其他分類名稱中,建立 _template.txt,並將它做成hard link 1)指向正確的樣板檔案(如上述,位於“templates”之下)。現在您可以直接用wiki編輯器來編輯樣板了。

若要使用soft link,可參考英文頁面其他網友的經驗分享。

讓所有的使用者都可編輯樣板

此方法可以讓所有的使用者根據其權限修改樣板檔。

  1. 檢視 inc/common.php,約817行附近2),將預設樣板檔名變更為 template.txt(或aaa_template.txt之類)。
  2. 現在,擁有分類名稱寫入權限的使用者,都可以在該分類名稱內建立名為“template”的頁面,該頁面亦將成為樣板。
  • 說明:此方法的好處是,編輯後的樣板馬上可以套用。

使用者群組的支援

請參考英文頁面

建議事項

  • 在config中設定樣檔的預設名稱,或許可以避免在系統升級之後common.php檔被刷新而弄亂了設定,並使用用ACL設定來限制樣板檔的存取權限。
1)
soft link 似乎無法正常運作
2)
2009-02-14版為811至812行
zh-tw/namespace_templates.txt · 上一次變更: 2015-07-10 12:23 由 119.129.211.149