0

我安装了一个全新的、干净的 Joomla 3.4.5,然后安装了一个我自己编写的组件,它在 Joomla 2.5 中运行良好。然而,在 Joomla 3 中,我收到服务器错误 500 ......在某些情况下......

我将错误缩小到以下奇怪的情况:

该组件称为 com_confighdv(我正在扩展 Joomla 核心的 com_config)。我添加了一个名为 JustaName 的视图,存在两个文件:

管理员/视图/justaname/view.html.php:

<?php
class ConfigHdVViewJustaName extends JViewLegacy
{
}
?>

管理员/视图/justaname/tmpl/default.php:

Hello world!

当我转到 index.php?option=com_confighdv&view=justaname 时,这工作正常。

然后我将视图的名称从 JustaName 更改为 Component:

  • 视图的文件夹变为:admin/views/component/
  • 类声明变为:class ConfigHdVViewComponent extends JViewLegacy {}

现在,当我去 index.php?option=com_confighdv&view=component 我得到一个服务器错误 500 :s

我真的不知道该怎么办。非常感谢您的帮助!

4

1 回答 1

0

解决了!切换到 Joomla 的最大错误报告提供了解释:

致命错误:类 ConfigHdVModelComponent 包含 1 个抽象方法,因此必须在第 18 行的 /xxx/administrator/components/com_confighdv/models/component.php 中声明为抽象方法或实现其余方法 (JModelForm::getForm)

所以,问题不在于视图,而在于属于 Component 视图的模型!

我不小心自己创建了这个问题,将模型声明减少到我认为的绝对最小值:

class ConfigHdVModelComponent extends JModelAdmin
{
{

虽然这是不允许的,因为您总是必须定义getForm方法,所以:

class ConfigHdVModelComponent extends JModelAdmin
{
    public function getForm($data = array(), $loadData = true)
    {
    }
{
于 2015-11-19T14:55:02.437 回答