2014-02-18 72 views
0

我試圖訪問我的Opencart的的管理頁面,但我收到此錯誤:我的opencart配置有什麼問題?

Fatal error: Call to a member function getFirstName() on a non-object in /home/xxxxxx/public_html/catalog/controller/common/header.php on line 73

我不是Opencart的專家,但我不認爲管理員應該從目錄中訪問文件。

真的,配置看起來不錯。 有沒有人見過這個錯誤?

這是在錯誤被acused行73

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL')); 

謝謝大家。錯誤是我複製了錯誤的文件,並且不夠徹底地閱讀代碼。謝謝你們

+0

我懷疑這是一個沒有正確上傳的文件 – CodeBird

+0

您可以編輯您的文章,我編輯我的評論時正在考慮其他內容當我評論時,我認爲它應該是一些文件沒有正確上傳 – CodeBird

+0

我再次上​​傳。但我想不出它可能是哪個文件。 – Adinan

回答

0

你是否檢查了兩個配置文件,在管理文件夾和根目錄中的一個,如果他們配置正確呢?

你正在顯示的是根區域中的一個,請檢查管理區域中的那個。 也嘗試添加:

define('HTTPS_ADMIN', 'http://yourdomain.com/admin/'); 

管理配置也應該是這個樣子:

// HTTP 
define('HTTP_SERVER', 'http://yourdomain.com/admin/'); 
define('HTTP_CATALOG', 'http://yourdomain.com/'); 
define('HTTP_IMAGE', 'http://yourdomain.com/image/'); 

// HTTPS 
define('HTTPS_SERVER', 'http://yourdomain.com/admin/'); 
define('HTTPS_IMAGE', 'http://yourdomain.com/image/'); 
define('HTTPS_CATALOG', 'http://yourdomain.com/'); 

如果這些都設置這樣的,在代碼那麼肯定有什麼車。

+0

我現在覺得很愚蠢。我必須複製錯誤的配置文件,同時比較一個。我沒有徹底閱讀代碼。對不起,感謝您的幫助 – Adinan

0

問題是這樣的線:

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL')); 
        =>         =>           =>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

在施用,$this->customer爲空,如$customer未註冊(在相反的目錄下,$user丟失位置)。 $user對象不是在管理中註冊的,因此您可以撥打$this->user

因此你需要調用此:

$this->user->getUserName() 

代替

$this->customer->getFirstName() 

如果你想獲取登錄的用戶,而不是名字,你必須編輯核心文件system/library/user.php並添加自己檢索用戶名的方法和邏輯。