2013-10-07 35 views
0

嘿,我是joomla中的新成員,並且創建了一個名爲profile的組件。我在文件夾控制器/ setting.php中出現錯誤。 這是我的代碼;

類ProfileControllerSetting擴展JControllerForm {

function save(){ 
    parent::save(); 
    if($this->task=='save')  
    $this->setredirect('index.php?option=com_profile'); 
     } 

function cancel(){  
    $this->setredirect('index.php?option=com_profile'); 
    } 

} 

錯誤來臨是:Strict Standards: Declaration of ProfileControllerSetting::cancel() should be compatible with JControllerForm::cancel($key = NULL)

Strict Standards: Declaration of ProfileControllerSetting::save() should be compatible with JControllerForm::save($key = NULL, $urlVar = NULL) 

請幫助我。

回答

0

你的翻譯如何告訴你,你必須參數化你的功能。 試着這麼做:

class ProfileControllerSetting extends JControllerForm { 
    public function save($key = NULL){ 
     parent::save(); 
     if($this->task=='save')  
     $this->setredirect('index.php?option=com_profile'); 
    } 

    public function cancel($key = NULL, $urlVar = NULL){  
     $this->setredirect('index.php?option=com_profile'); 
    } 
} 

既然你不能簡單地超載要擴展類JControllerForm PHP函數。所以你必須遵循JControllerForm中聲明的函數加載和保存的定義。

+0

上面的方法我都試過,但問題是相同 –

+0

你有沒有嘗試添加'NULL'爲默認值?看看我的答案,我剛剛編輯。 – Marschal

+0

@ R.J請耐心等待,看看是否有幫助。 – Marschal

0

爲Joomla 3.6方法保存必須有兩個參數

public function save($key = NULL, $urlVar = NULL) { 
    parent::save(); 
    if($this->task=='save')  
     $this->setredirect('index.php?option=com_profile'); 
} 
相關問題