在使用JUpgrade成功将joomla1.5的网站升级为Joomla2.5的网站后,发现Joomla Update这个菜单项居然消失了。经过查找资料,解决了这个问题。
如图,你可以看到并没有出现Joomla Updete这个菜单项。
出现这个问题的原因是:
自从JOOMLA2.5.4之后,Joomla核心的升级已经从以往的扩展管理->安装->升级 改变为一个单独的组件 Joomla Update.但是现在并没有出现这个组件的选项,说明数据库中可能存在记录丢失的问题。
官方的解决方案是:
登陆PHPMyadmin,在数据库中执行下面的命令:
UPDATE #__menu SET component_id = (SELECT extension_id FROM #__extensions WHERE name = "com_joomlaupdate") WHERE title = "com_joomlaupdate"
正常情况下应该会提示有一条记录更新。但是在我的情况下,并没有出现,反而出现没有记录改变。经过检查,发现我们的extension表中根本就没有com_joomlaupdate这个组件。
另外的一个解决方案是在扩展管理中使用发现(DIscover)功能,理想情况下,应该会出现joomlaupdate这个组件的,然后点击安装就行了。可是,在我的情况下,我试了很多次,还是没有效果。缓存也清空了。依然没有效果。
另外的一个方法是执行下面的SQL语句:
INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `ordering`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES ('menu', 'com_joomlaupdate', 'Joomla! Update', '', 'Joomla! Update', 'index.php?option=com_joomlaupdate', 'component', 0, 1, 1, (SELECT extension_id FROM #__extensions WHERE `name` = 'com_joomlaupdate'), 0, 0, '0000-00-00 00:00:00', 0, 0, 'class:joomlaupdate', 0, '', 41, 42, 0, '*', 1);
注意将#改成你自己的数据库前缀。如果不清楚,你可以前往你的网站的全局配置中找到。
上面的SQL语句的功能就是在menu表中添加一条记录。仅此而已。
这种情况的适用范围就是你可以在你的扩展管理中找到joomlaupdate这个组件,但是在菜单中找不到。而我的情况正是这样。因此,问题得到解决。
执行SQL语句
刷新查看效果
评论 (0)