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. 在修改源码后,你会发觉页面没有变化,这大多是缓存的原因,一般屏蔽缓存即可解决

本文来自 一张楠得煳凃的脸 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/wauit/article/details/43938995?utm_source=copy

转载于:https://my.oschina.net/u/3656540/blog/2236605

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值