Php ReDJ插件fom Joomla 2.5到Joomla 3的迁移(管理面板中没有显示任何内容)
我有ReDJ插件v1.6在2.5joomla网站上工作。但是我现在继续学习Joomla 3,这个模块现在不工作-出现异常错误。在变更日志中,我发现:Php ReDJ插件fom Joomla 2.5到Joomla 3的迁移(管理面板中没有显示任何内容),php,joomla,joomla3.0,Php,Joomla,Joomla3.0,我有ReDJ插件v1.6在2.5joomla网站上工作。但是我现在继续学习Joomla 3,这个模块现在不工作-出现异常错误。在变更日志中,我发现: 更改了所有模型、控制器和视图的类名。因此,我只需向所有处理异常的类添加Legacy后缀。并在$input=JFactory::getApplication()->input上更改JRequest(在v3中不推荐使用) 所以现在看来,一切都很顺利。除了组件管理面板-我可以看到组件菜单,但页面上没有任何内容。 以下是截图: 主控制器controller
更改了所有模型、控制器和视图的类名
。因此,我只需向所有处理异常的类添加Legacy
后缀。并在$input=JFactory::getApplication()->input上更改JRequest
(在v3中不推荐使用)代码>
所以现在看来,一切都很顺利。除了组件管理面板-我可以看到组件菜单,但页面上没有任何内容。
以下是截图:
主控制器controller.php
code:
主要组件文件redj.php
code:
我发现不工作行parent::display()
在controller.php
文件中。并且日志和显示中没有错误。
这一行调用JControllerAdmin->display()
,即:
/**
* Display is not supported by this controller.
*......................
*......................
*/
public function display($cachable = false, $urlparams = array())
{
return $this;
}
所以什么也没显示出来。我试图将extends
定义重命名为JControllerLegasy
(因为它支持display()方法),但组件输出中仍然没有任何内容
如何在Joomla 3的管理面板中输出组件内容
感谢您的帮助。
S.G
更新1:
我在GitHub上发布代码。我打算为Joomla 3优化这个插件。欢迎任何帮助!
另外,现在会显示重定向列表,添加一个新列表可以正常工作。但是项目列表中没有项目
更新2:
最后,一切都很好(经过我的测试,但似乎一切都很好)
注意:如果选项卡中没有显示任何内容-检查数据库列。我又加了几句。在文件views/../view.html.php
GitHub上的代码:我在GitHub repo中发布了一些更新,以表明它可以正常工作。(用于重定向视图序列)。不幸的是,Joomla中使用了一些代码!组件的2.5已被弃用,并在3.0中删除。此外,GUI在3.0中看起来很糟糕,它需要更多的工作
尽管我很想帮你让它运行起来,但所花费的时间却很大。我强烈建议使用Joomla!2.5仍有很好的支持期。
开发商还宣布
检查所有代码并修复它们对我来说没有什么意义,但这里有一些示例:
JDatabase::GetEscape()已被删除。改用JDatabase::escape()。
$db->getEscaped($orderCol.'.$orderDirn)
=>$db->escape($orderCol.''.$orderDirn)
JToolBar不再支持在执行该功能之前隐藏主菜单的“X”功能(如addNewX、editListX)。
和其他人。你有没有像我说的那样检查@ValentinDespa:,在我找到的变更日志中。。所以我真的阅读了所有这些更改并修复了所有问题。你也在JViewLegacy中重命名了JView吗?@ValentinDespa是的,我确信,我用“Legacy”重命名了所有类。在github上共享你的全部代码,以便我可以看到所有内容。如果我们把它修好了,也许其他人也会感兴趣,维护者会合并它。嗯。。似乎我错过了这两个“例子”问题。谢谢!我将以这种方式做得更进一步。我解决了一些其他问题,所以我认为现在一切都好了。我的意思是“Jommla!3”的组件最终完全迁移了。太好了。请注意,您使用的版本是1.6.X。2.5的最新版本是1.7.X,使用WinMerge之类的程序检查还有哪些区别。