【发布时间】:2013-02-26 12:43:43
【问题描述】:
我在 2.5 Joomla 网站上有 ReDJ 插件 v 1.6。但我正在继续Joomla 3,这个模块现在不能工作 - 出现异常错误。在更改日志中,我发现了这一点:
Changed class names for ALL models, controllers and views。所以我只是在所有处理异常的类中添加Legacy 后缀。并在$input=JFactory::getApplication()->input; 上更改JRequest(在v3 中已弃用)。
所以目前看来,一切正常。除了.. 组件管理面板 - 我可以看到组件菜单,但页面上没有任何内容。 这是截图:http://tinyurl.com/btfzxux
主控controller.php代码:
http://pastebin.com/vQjYvYkK
主要组件文件redj.php代码:
http://pastebin.com/gF6icdE3
我发现controller.php 文件中的parent::display(); 行不工作。并且日志和显示没有错误。
而这条线调用JControllerAdmin->display(),即:
/**
* Display is not supported by this controller.
*......................
*......................
*/
public function display($cachable = false, $urlparams = array())
{
return $this;
}
所以什么都没有显示。我尝试将 extends 定义重命名为 JControllerLegasy(因为它支持 display() 方法),但组件输出中仍然没有。
如何在 Joomla 3 的管理面板中输出组件内容?
任何帮助表示赞赏。
SG
更新 1:
我在 GitHub 上发布我的代码。我正在为 Joomla 3 优化这个插件。欢迎任何帮助! https://github.com/staniaslavg/ReDJ
附注现在重定向列表显示并添加一个新的工作正常。但是..项目列表中没有项目。
更新 2:
最后,一切正常(由我测试,但似乎一切正常..)
P.S. 如果选项卡中没有显示任何内容 - 检查数据库列。我又加了几个。通过文件views/.../view.html.php中的var_dump错误变量(如$this->get('Errors'))检查whis
GitHub 上的代码:https://github.com/staniaslavg/ReDJ
【问题讨论】:
-
@ValentinDespa 正如我所说:
in change-logs I found.. 所以我真的阅读了所有这些变化并解决了所有问题。 -
您是否也重命名了 JViewLegacy 中的 JView?
-
@ValentinDespa 是的,我敢肯定,我将所有类重命名为“Legacy”。
-
在 github 上分享您的整个代码,以便我可以看到所有内容。如果我们修复它,也许其他人也有兴趣,维护者会合并它。