由Varien_对象$this引起的Magento警告->_作为对象而不是数组的数据

由Varien_对象$this引起的Magento警告->_作为对象而不是数组的数据,magento,Magento,我得到了Magento 1.7,我得到了这个错误警告:array_keys()期望参数1是数组,对象在第117行的~/lib/Varien/object.php中给出。它在我安装的插件上,但我不知道如何修复它 电话是 $existedShortKeys = array_intersect($this->_syncFieldsMap, array_keys($this->_data)); 但是,$this->\u数据是一个对象。。。那么是插件错误还是Magento的错误? 该插件是A

我得到了Magento 1.7,我得到了这个错误
警告:array_keys()期望参数1是数组,对象在第117行的~/lib/Varien/object.php中给出。它在我安装的插件上,但我不知道如何修复它

电话是

$existedShortKeys = array_intersect($this->_syncFieldsMap, array_keys($this->_data));
但是,
$this->\u数据
是一个对象。。。那么是插件错误还是Magento的错误?
该插件是Affiliate+

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

$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);

就是这样。

很可能是插件错误。通常,
$this->\u数据
不是一个对象,而是一个arry


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

您好,谢谢您的回答。我试图联系他们,但他们还没有在线。这是一个付费插件,所以我不能给代码的链接。这里是插件Ok发现的问题。。。现在我需要看看如何修复它。感谢您的帮助如果它是付费插件,肯定会有支持可用。联系他们吧。我联系过他们,但他们不在这里。。。我需要更进一步,所以我等不及回复了。我修复了我编辑我的消息的bug,所以如果有一天有人遇到了同样的问题。看到原始代码很有趣——从我在你的补丁中看到的,受保护的ValueNo:对象:无论如何,这个数据属性不能被设置为对象。你想要哪个代码?因为这是一个相当大的扩展。。。如果你愿意,我可以复制那个方法的代码。当会话中有数据时,它就工作了。你直接修补的任何代码都会很有趣。但只要它能工作……我只修补了我评论的那行代码,添加更多的代码对理解是无用的。但它是这样工作的,所以很好:-)