1. 程式人生 > >dokuwiki addnewpage外掛無法使用問題的解決

dokuwiki addnewpage外掛無法使用問題的解決

登陸後仍提示“抱歉,您沒有許可權增加頁面”

由於我設定的acl許可權為只允許登入使用者編輯wiki,所以需要登入後才可以使用addnewpage外掛。退出後訪問有該外掛程式碼的頁面會提示“抱歉,您沒有許可權增加頁面”,這是正確的,可是再次登入,仍然提示這個資訊,沒有新增頁面表單,令我非常鬱悶。 第一個想到的原因就是快取。果然,刪除cache資料夾下邊的數字和字母索引資料夾即可清除快取,cache目錄下的檔案不要動~~ 帶有“抱歉,您沒有許可權增加頁面”提示資訊的頁面已被快取,不管是否登陸下次訪問的都是快取。當非登入狀態(沒有許可權時)訪問,就會生成這個快取檔案。那要怎麼做才能在沒有許可權時訪問不快取? 解決方法: 仍然閱讀外掛的syntax.php原始碼的render函式,發覺如下程式碼

if($disablecache) $renderer->info['cache'] = false;

推斷if語句裡的藍色程式碼是不是設定本頁面不使用快取的程式碼那?試驗下,將藍色程式碼放在render函式最開始的位置,結果ok,不管登入還是非登入狀態,都不會再快取該頁面

小結

  1. 有些dokuwiki外掛並不是那麼可靠,需要自己閱讀原始碼做出調整,可參考官網提供的開發手冊,如本文說的addnewpage外掛,重點在於繼承DokuWiki_Syntax_Plugin這個語法介面的render函式
  2. 在修改原始碼後,你會發覺頁面沒有變化,這大多是快取的原因,一般遮蔽快取即可解決

本文來自 一張楠得煳凃的臉 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/wauit/article/details/43938995?utm_source=copy