1

我得到了 Magento 1.7,我得到了这个错误Warning: array_keys() expects parameter 1 to be array, object given in ~/lib/Varien/Object.php on line 117。它在我安装的插件上,但我不知道如何修复它。

这条线是

$existedShortKeys = array_intersect($this->_syncFieldsMap, array_keys($this->_data));

但是$this->_data是一个对象......那么它是插件错误还是Magento的错误?
该插件是 Affiliate+ http://www.magestore.com/affiliateplus

===== FIX ====
所以我设法修复它,这只是一个警告,所以我们只在开发人员模式下看到这个问题。
在第app/code/local/Magestore/Affiliateplus/Block/Adminhtml/Banner/Edit/Tab/Form.phtml7页

$data = array();
if(Mage::getSingleton('adminhtml/session')->getBannerData()){
    $data = Mage::getSingleton('adminhtml/session')->getBannerData();
    Mage::getSingleton('adminhtml/session')->setBannerData(null);
} elseif ( Mage::registry('banner_data')) {
    //$data =  Mage::registry('banner_data'); This line must be disabled
}
$obj = new Varien_Object($data);

而已。

4

1 回答 1

3

很可能是插件错误。通常$this->_data不是一个对象,而是一个数组。

要获取更多详细信息,您应该发布插件的名称、代码链接和错误的回溯。或联系插件的制造商。

于 2012-10-18T10:56:07.793 回答