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

猜你喜欢

转载自my.oschina.net/u/3656540/blog/2236605