我刚刚在我的网站上安装了一个新组件,但当我点击后端的组件设置按钮时,我收到此消息:
致命错误:在第32行的/mysite.com/administrator/components/com_sigpro/models/settings.php中的非对象上调用成员函数loadByOption()
该文件包含以下代码:
defined('_JEXEC') or die ;
class SigProModelSettings extends SigProModel
{
protected $extensionID = null;
public function getForm()
{
$option = $this->getState('option');
if (version_compare(JVERSION, '2.5.0', 'ge'))
{
$component = JComponentHelper::getComponent($option);
$this->extensionID = $component->id;
JForm::addFormPath(JPATH_ADMINISTRATOR.'/components/'.$option);
$form = JForm::getInstance($option.'.settings', 'config', array('control' => 'jform'), false, '/config');
$form->bind($component->params);
}
else
{
$component = JTable::getInstance('component');
$component->loadByOption($option);
$this->extensionID = $component->id;
$form = new JParameter($component->params, JPATH_ADMINISTRATOR.DS.'components'.DS.$option.DS.'config.xml');
}
return $form;
}
PS我的网站正在运行Joomla 1.7.5稳定版,我无法将其升级到2.5,因为该网站在线并且生产有些组件在版本2.5上不起作用。 如果有人可以帮我解决这个错误,我将不胜感激。
提前致谢
答案 0 :(得分:0)
你需要1.6个特定的模块,组件和组件。插件。您需要找到1.6兼容版本或替代版本或检查/configuration.php
上的权限答案 1 :(得分:0)
看起来您的文件系统中没有表类。它应该位于/mysite.com/administrator/components/com_sigpro/tables文件夹中的某个位置(可能因代码而异,但看起来它们没有包含自定义路径)。该类应该扩展JTable类。