今天在开发ZMAX商城的时候,我想给商城系统实现在线升级功能。以前这种功能我实现过,非常的简单。不过这次却遇到了问题,在一些网站上不管刷新缓存多少次就是不能改检查到扩展的最新版本。但是在另外一些网站上是能够找到的。当时就很奇怪。一个偶然的机会让我解决了这个问题。下面是简单说明。

熟悉joomla的人都知道joomla的扩展是可以通过后台自动升级的。这是一个非常棒的功能。但是否你真的清楚该如何使用这个功能呢?

最开始的时候,我以为我懂了,这个功能很容易使用的。只需在扩展管理界面的升级菜单项中,点击“查找升级”按钮就行了,系统就会列举出所有有新版本的扩展的。如图:

但实际上你会发现它并不如你想的一样。就像我这次遇到的一样,我点击了查找升级,系统出现了下面的界面:

 

上面的警告我知道是怎么回事,因为这些都是我自己开发的扩展,我并没有给他们实现自动更新。重点是下面的结果,你可以明确的看到,只有一个可用的更新。那就是Akeeba Backup Core这个组件。这是一个很奇怪的结果,因为在其他的网站上还会出现ZMAXSHOP的在线更新。

当然,这个时候你可能会说,可能是缓存的原因吧。我的想法和你一样,肯定是缓存!!!我就清空了网站的所有缓存,并且为了保证万无一失,我甚至将浏览器的缓存都清空了。这次总该出现了吧。但结果却依然还只有上面一个。

我很疑惑,这个很不应该啊。在无意中,我注意到了上图中的几个字。

"有些升级网站是禁用状态,你可能需要检查升级系统" 这个提示。我如是点击了升级系统的链接。很不幸,出现了一个404解决。地址如下

http://localhost/test1/administrator/%22/test1/administrator/index.php?option=com_installer&view=updatesites%22

明显是在汉化的时候多了一个“导致404的。这个bug应该和汉化的兄弟说一下。

虽然这个链接不能用了,但是他给了我一个启示,可能是我的商城组件被设置禁用自动升级了。但是在哪个地方启用,我

可以说运气实在太好,我随便点击了一下左边网站升级的选项(在上图中的菜单项中最后一个菜单项),被我发现了新大陆:

原来这个页面控制着哪个扩展可以使用自动升级检测功能。我的ZMAX商城组件当前被设置为禁用状态,那当然不能检测到更新了。ok。问题找到了,启用,然后再次检测,果断找到了更新了。

到此,这个问题解决了。


总结一下,如果要成功使用系统的自动更新检查功能,那么可以按照如下步骤

1,在组件管理中点击“网站升级”将所有的扩展都启用自动更新检查

2,在全局管理中清除缓存,清除过期缓存

3,在升级菜单中点击“查找更新”

4,如果还没有找到,重复执行2-3步骤,一帮能够解决问题。

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前