在joomla中在视图中插入数据的错误

时间:2013-09-19 13:59:46

标签: joomla content-management-system joomla2.5 joomla1.5 joomla-extensions

我想在数据库中插入数据但显示错误

  

致命错误:在非对象中调用成员函数getform()   \部件\ com_enquiry \视图\形式\ view.html.php   第9行

我的代码是: enqiry.php:

public function getform($data)
{
    $db=JFactory::getDbo();
    $db=$this->getDbo();
    $query=$db->getQuery(true);
    $reg=new stdClass();
    $reg->name=$data['name'];
    $reg->email=$data['email'];
    $reg->phone=$data['phone'];
    $reg->comments=$data['comments'];
    $reg=$db->insertObject('#__enquiry',$reg);
}

和view.html.php:

public function display()
{
    $this->msg = 'enquiry form';
    $model=$this->getModel(); 
    $data =$model->getform();
    $this->assignRef('data', $data );
    parent::display();
    parent::display();
}

控制器:

     class enquiryController extends JControllerLegacy
      {
      public function display()
       {
         $vname=JRequest::getCmd('view','form');
         JRequest::setVar('view',$vname);
         JRequest::setVar('layout','default');  
         parent::display();
       }

     public function show()
     {
    $data['name']=$_POST['name'];
    $data['email']=$_POST['email'];
    $data['phone']=$_POST['phone'];
        $data['comments']=$_POST['comments'];
    $sname=JRequest::getCmd('view','thanx');    
    JRequest::setVar('view',$sname);
    print_r($data);
     }
   }

有人可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:0)

问题是您的模型未被该行加载:

$model=$this->getModel();

这意味着enquiry.php中的模型未正确命名

ComponentNameModelEnquiry

或您的观点未命名为查询。

您可以尝试指定所需的型号,例如

$model = $this->getModel('enquiry');