2014-10-08 117 views
0

這裏是OpenCart擴展開發的新手。我目前正在開發99Bill(中國付款方式)支付延期。我添加了新的文件到MVC目錄(所以,我添加了管理員,目錄等下的文件,我在此命名了我的擴展名bill99,因爲PHP不允許以數字開頭的名稱)。PHP路徑中的未定義索引

我想測試我的擴展,但在我的Opencart的主頁,我得到以下錯誤:

Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20
Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20
Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20
Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20
Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20
Notice: Undefined index: mobile_description in /vagrant/opencart/upload/catalog/model/catalog/product.php on line 20

我不太清楚我是怎麼引發的呢,因爲我從來沒有編輯或觸及product.php文件之前。即使我禁用/卸載我的99Bill擴展,也會出現該錯誤。

當我瀏覽到product.php 20行只是說:

'description'  => $query->row['mobile_description'] 

我有一種感覺我的錯誤無關,與product.php文件,因爲我從來沒有碰過它,並有可能涉及我的99Bill擴展。我可能沒有在某個地方初始化課程。

對於之前有過這個錯誤的人,你能幫我理解嗎?

回答

2

好吧:第20行訪問數組索引,不是嗎?假設索引不存在,那麼你得到的錯誤信息是否合理呢?嘗試傾銷$query->row內容或更換你現在有什麼:

'description'  => isset($query->row['mobile_description']) ? $query->row['mobile_description'] : null, 

至於爲什麼收到此通知:This answer explains that,幷包含一些片段,可以幫助你重構你的代碼

+0

感謝協助埃利亞斯。我不明白的是,爲什麼在添加一個新的擴展後,我會得到這個我以前從未收到過的錯誤。 – theGreenCabbage 2014-10-08 07:43:40

+0

@theGreenCabbage:更新了我的答案,添加了一個鏈接到我的以前的答案,這解釋了通知來自哪裏。底線:它一直在那裏,但安裝一個新的擴展可能已經改變了PHP的ini設置,或者它們可能已被覆蓋,並將它們保持在更嚴格的級別:_help_ – 2014-10-08 07:47:59

+0

感謝您提供的信息回答!我挖得更深一點。切換回我的主分支(99Bill擴展名不存在的地方),這個***通知不會存在***。我的99Bill擴展可能有問題,因爲我無法「啓用」它。 – theGreenCabbage 2014-10-08 07:54:09