2012-09-16 46 views
0

在Joomla嘗試安裝已轉換1.5模板導致500服務器錯誤。原來是由PHP的錯誤引起的:Joomla 2.5.6 php錯誤安裝「升級1.5」模板

Trying to get property of non-object in libraries/joomla/installer/adapters/template.php on line 54

Fatal error: Call to a member function attributes() on a non-object" on the next line.

的想法

任何的Joomla專家了嗎?

+0

嗯,這絕對是由於模板文件夾中的一個php文件。我有一種感覺,它可能是index.php,但可能是錯的。很難說沒有看任何代碼。你是否能夠提供index.php代碼,如果它不是太長? – Lodder

回答

0

此錯誤類型是模板mainfest(XML)文件格式不正確的結果。即它的結構不正確。

當你將一個1.5模板,如果您發佈的模板清單文件我們或許可以幫助我將檢查docs.joomla.org文章「Upgrading a Joomla 1.5 template to Joomla 2.5

0

Joomla 庫的第53和55行/ joomla/installer/adapters/template.php與加載語言文件有關。具體的線路如下。正如你可以看到這是隻與從清單

$this->manifest = $this->parent->getManifest(); 
$name = strtolower(JFilterInput::getInstance()->clean((string) $this->manifest->name, 'cmd')); 
$client = (string) $this->manifest->attributes()->client; 

找到語言文件的名字,我會建議行53未能找到$這個 - >父 - > getManifest(),因此屬性是在空對象($this->manifest部分)上被調用,並且因爲它不存在而再次找不到實例$this->manifest

閱讀this Joomla Wiki Article如果您不知道清單是什麼。我建議你是否永久升級你通過它讀取的模板,並更新你的模板XML文件,以確保它適用於所有這些。正如cppl上面所說的,以及也嘗試閱讀通過升級Joomla 1.5模板到2.5 here。特別是在你的情況下,語言部分,因爲這似乎是產生了錯誤 - 但作爲清單是通過Joomla一個非常普遍的事情,我懷疑這只是發現的第一個實例 - 並將通過安裝系統!