2014-09-23 40 views
0

我在Magento CE 1.6.2.0中有一個博客擴展的問題。爲什麼在Magento的這個擴展中出現「在非對象上」錯誤?

  1. 我安裝了這個擴展:Neotheme_nBlog

  2. 我在管理員中創建了一個條目。

  3. 然後我去了http://www.example.com/index.php/blog/查看最近創建的條目。

  4. 我看到的是這樣的錯誤:

    致命錯誤:調用一個成員函數的getName()一個非對象 在/home/example.com/public_html/app/design/frontend /default/caramel/template/magicat/left.phtml

  5. 我在谷歌搜索條件:"template/magicat/left.phtml" getName和我只找到的是有這個問題的網站,但沒有支持。

請注意:我知道什麼做在PHP的錯誤意思(「不幸」我不是那個新)。我不明白的是如何發生這種[NON/null]對象和如何解決它而不殺死一打小貓

問題:我能做些什麼來解決它?錯誤的性質是什麼?關於Magento?(又是:不是PHP)。

注意:Magento的網站(http://magento.stackexchange.com)稍差,嚴格把支持這種性質的,所以要求有一個選項。

編輯(如答案發表評論,並澄清):

  • Neotheme仍沒有響應該請求。
  • 不知道我應該看這樣的文件(實例沒有初始化,但只能訪問)。
  • 我使用默認主題(焦糖),它有美觀的變化(沒有佈局變化)。
+0

從管理中清除緩存並重新編譯(如果使用編譯)。你可以用默認的Magento主題重新創建問題嗎?你看過提到的文件,看看發生了什麼?你有沒有嘗試過聯繫「Neotheme」,看看他們是否也可以幫忙? – clockworkgeek 2014-09-23 21:58:03

+0

這只是發生在我*現在*。它發生在很多小時之前。還沒有得到任何neotheme的支持。我沒有使用編譯(在Magento CE中編譯使得每個擴展都會中斷 - 所以爲了能夠安裝擴展並且不再有任何類未找到錯誤,我禁用了編譯)。我如何「查看提到的文件」?它只試圖訪問一個變量(塊實例化沒有在視圖中完成) – 2014-09-23 22:01:09

+0

而且我不能用缺省主題重新創建這個probme,因爲默認是焦糖色,而且這個發行版的前開發者*殺死了瘋狂量的貓*(他們做了雖然不改變layout.xml文件) - 我實際上使用了「焦糖」,它沒有焦糖的美學 – 2014-09-23 22:03:03

回答

0

很難不明確看到你的系統的說法,但在這

template/magicat/left.phtml 

看起來你已經添加了一個名爲magicat/left.phtml到您的系統模板 - 要麼通過延長或定製開發。這個文件中的某個地方叫做getName。這可能有多種原因,並且沒有看到PHP在您的系統中抱怨的特定代碼行,很難說。知道magicat是否是擴展或其他內容的一部分也是有幫助的。

此錯誤在模板的最常見原因是代碼依賴於在那裏,一個塊的被被另一部分除去(eitehr經由佈局XML或觀察者方法)

$this->getLayout()->getBlock('some_block')->getName(); 

下一個最常見的是使用註冊表人到註冊表項未設置

Mage::registry('some_item')->getName(); 

不知道變量和上下文模板和視圖之間的溝通,但是,這是值得懷疑的,將能夠幫助你。

相關問題