我在Joomla网站上安装了一个故障单模块,提交故障单时出现以下错误
致命错误:在第300行的/home/xboxfifa/public_html/HD/components/com_jtaghelpdesk/controller.php中调用未定义的方法JRegistry :: getValue()
function mailme($formData){
$version = new JVersion();
$body = "A new inquiry has been recieved: <br /> Name : ". $formData['inqName']. "<br /> Email ID : ". $formData['inqEmail']. "<br/> Message : ".$formData['inqMessage'] ;
$mailer =& JFactory::getMailer();
$config =& JFactory::getConfig();
if($version->RELEASE==3.0)
{
$recipient = array(
$config->get('mailfrom'),
$config->get('fromname'));
}else
{
$recipient = array(
$config->getValue( 'config.mailfrom' ),
$config->getValue( 'config.fromname' ));
}
$mailer->addRecipient($recipient);
$subject=$formData['inqSubject'];
$mailer->setSubject($subject);
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
$mailer->setBody($body);
$send =& $mailer->Send();
if ( $send !==true )
{ $msg = 'Reply not Sent!';
} else
{
$msg = 'Reply Sent Successfully!';
}
}
如果有人能帮助我,我会很感激。
答案 0 :(得分:3)
JRegistry::getvalue()
,因此请确保使用JRegistry::get()
代替。
至于你的版本比较,你应该使用这个:
if (version_compare(JVERSION, '3.0.0', 'ge')){
// code here
}
答案 1 :(得分:1)
编辑此答案,因为我意识到问题是另一回事。这里的问题是你正在做的$ version检查发现是完全== 3.0。什么时候你真的希望get()方法用于3.0及以上。您应该将if语句更改为:
if($version->RELEASE >= 3.0)
{ ... }
因为您使用的是3.2.1,所以将使用该版本的正确方法获取。