dokuwiki 裡使用 wikipage 作佈景
- Posted by Beata on 十月 4th, 2006 filed in php
:清酒: 其實沒有如標題所說得那麼聳動啦,並不是完全依靠 wikiPage 做佈景,而是透過嵌入 wikiPage 在佈景檔內達到動態修改佈景內容的功能。
雖然 dokuwiki 提供了 p_render 函式可在佈景內執行wiki語法:
{{NEWPAGE}} 會產生一份 NameSpace 列表的下拉選單,旁邊附上一個輸入欄位;選擇新頁面所屬的 NameSpace 並輸入頁面名稱即可開始編輯新頁面。
只是單單利用 p_render 的方式並不能滿足善變的使用者
恩…我承認自己就是那個使用者
幸好還有秘密武器 → p_wiki_xhtml
p_wiki_xhtml 的功用是在 php 裡嵌入 WikiPage。
以這個範例而言,嵌入的頁面就是網站最上層的 sidebar。
當然也可以依 NameSpace 的不同分別嵌入它們自己的 sidebar …
-
function tpl_sidebar() {
-
-
}
-
}
- 獲取目前的 NameSpace 路徑。
- 找出 NameSpace 的上一層 NameSpace 路徑,為什麼這麼做請見 #4。
- 檢查目前的 NameSpace 之下是否有 sidebar 頁面。
- 如果根據上面的條件,找不到 sidebar,那就採用其上層 NameSpace 的 sidebar。
註:上面的代碼來自於佈景 mmClean,不過函式有經過濃縮,只留下基本原理。如果懶得動手做佈景的話,mmClean 有提供自訂 topbar 跟 sidebar 的功能。
Leave a Comment