JForm :: getInstance无法加载文件

时间:2014-12-05 10:55:03

标签: components joomla3.0

我正在将一个表单组件制作成joomla。其中我将放置一个文本框和一个编辑器和一个按钮。     我为这个表单创建了视图文件,并且组件已成功安装。但是当我单击以在前端显示此表单时,会出现如下错误:

“找不到请求的页面。 处理您的请求时出错。

由于以下原因,您可能无法访问此页面:

过时的书签/收藏 一个错误的地址 搜索引擎,其中包含此网站的过期列表 您无法访问此页面 转到主页

主页

如果问题仍然存在,请与本网站的系统管理员联系并报告以下错误。

500 JForm :: getInstance无法加载文件“ 感谢您的支持

2 个答案:

答案 0 :(得分:7)

<强> 1。首先检查您的表单xml-file

前端路径:components\com_<name_of_component>\models\forms\<formname>.xml

后端路径:administrator\components\com_<name_of_component>\models\forms\<formname>.xml

示例(Joomla 3.4.3):administrator\components\com_users\models\forms\group.xml

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fieldset>
        <field name="id" type="hidden"
            default="0"
            required="true"
            readonly="true"
        />

        <field name="title" type="text"
            required="true"
            description="COM_USERS_GROUP_FIELD_TITLE_DESC"
            label="COM_USERS_GROUP_FIELD_TITLE_LABEL"
            size="40"
        />

        <field name="parent_id" type="groupparent"
            description="COM_USERS_GROUP_FIELD_PARENT_DESC"
            label="COM_USERS_GROUP_FIELD_PARENT_LABEL"
            required="true"
        />

        <field name="actions" type="hidden"
            multiple="true"
        />

        <field name="lft" type="hidden"
            filter="unset"
        />
        <field name="rgt" type="hidden"
            filter="unset"
        />
    </fieldset>
</form>

<强> 2。检查您的模型类

方法getForm()负责加载表单(上面提到的xml文件格式)。

前端路径:components\com_<name_of_component>\models\<modelname>.php

后端路径:administrator\components\com_<name_of_component>\models\<modelname>.php

示例(Joomla 3.4.3):administrator\components\com_users\models\group.php

/**
 * Method to get the record form.
 *
 * @param   array    $data      An optional array of data for the form to interogate.
 * @param   boolean  $loadData  True if the form is to load its own data (default case), false if not.
 *
 * @return  JForm   A JForm object on success, false on failure
 *
 * @since   1.6
 */
public function getForm($data = array(), $loadData = true)
{
    // Get the form.
    $form = $this->loadForm(
        'com_users.group', 
        'group', 
        array(
            'control' => 'jform', 
            'load_data' => $loadData)
        );

    if (empty($form))
    {
        return false;
    }

    return $form;
}

答案 1 :(得分:0)

检查你的xml文件是否正确加载并检查你的视图表单添加任何额外的xml表单,如(filter)然后检查它是否存在于models / forms文件夹中