我正在将一个表单组件制作成joomla。其中我将放置一个文本框和一个编辑器和一个按钮。 我为这个表单创建了视图文件,并且组件已成功安装。但是当我单击以在前端显示此表单时,会出现如下错误:
“找不到请求的页面。 处理您的请求时出错。
由于以下原因,您可能无法访问此页面:
过时的书签/收藏 一个错误的地址 搜索引擎,其中包含此网站的过期列表 您无法访问此页面 转到主页
主页
如果问题仍然存在,请与本网站的系统管理员联系并报告以下错误。
500 JForm :: getInstance无法加载文件“ 感谢您的支持
答案 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文件夹中