我最近将一个Joomla自定义扩展程序移植到我最初为1.3编写的3.3.x并且已经在2.x上运行多年。
它是一个标准扩展,它显示了一个记录列表,显示了每条记录的各个字段。用户单击一个以及显示列出的字段和其他字段的表单。用户更新值并单击“保存并关闭”。记录保存正确,但浏览器不刷新上一页,只是重新显示原始页。结果是用户认为它没有工作,第二次点击所述记录并带来正确的形式(如在第一次尝试中更新)值。现在受挫的用户责怪程序员。
出于非常好和不可避免的原因,同时我将网站移植到Joomla 3.3,我还必须从内部托管服务器迁移到Zen托管服务器。我在Zen上有其他几个客户并没有遇到过这个问题,所以我怀疑我的用户是否应该责怪程序员。
我找不到任何与缓存和自定义扩展相关的内容,并且缓存的网站设置为OFF。该模板使用JAT3插件,但至少已经使用了四年。作为Joomla升级的一部分,对此进行了更新。
答案 0 :(得分:1)
我不确定您是否看到浏览器或服务器缓存命中。在任何一种情况下,解决方案都非常简单:向表单的POST请求添加一个随机数,或者,如果控制器正在执行重定向,也可以在其中添加随机参数。
我知道它不干净,但它是一种简单有效的方法来解决过度缓存问题。
如果您可以在组件中指定正确的过期标头,那么您也可以解决问题;但是我不知道T3缓存的实现 - 除了我曾经有过一次糟糕的时间。
答案 1 :(得分:0)
使用JAT3插件的模板使用自己的缓存。如果启用了缓存,则可以检查其设置。您应该检查的另一件事是error_log。