Magento帮助(PHP)

Magento帮助(PHP),php,magento,magento-1.8,Php,Magento,Magento 1.8,我最近尝试在1.8上运行Magento扩展-该扩展与此版本不兼容。然而,我正试图解决兼容性问题,所以如果有人有任何意见,那就太好了 错误本身表明: 第254行的/app/code/community/Anais/Accessories/Block/Adminhtml/Catalog/Product/Edit/Tab/Accessories.php中为foreach()提供的参数无效 foreach块是: foreach (Mage::registry('current_product')->

我最近尝试在1.8上运行Magento扩展-该扩展与此版本不兼容。然而,我正试图解决兼容性问题,所以如果有人有任何意见,那就太好了

错误本身表明:

第254行的/app/code/community/Anais/Accessories/Block/Adminhtml/Catalog/Product/Edit/Tab/Accessories.php中为foreach()提供的参数无效

foreach块是:

foreach (Mage::registry('current_product')->getAccessoriesProducts() as $product) {
    $products[$product->getId()] = array('position' => $product->getPosition());
}

或者,如果有人可以推荐一个方便的产品附件扩展。

我刚刚在CE-1.8.1上测试了该扩展,它运行顺利。
清除缓存并禁用编译,然后重试。
还要记住,扩展重写了
Mage\u Catalog\u Model\u Product
类(产品模型)

我知道这不是一个好方法(我可能会说这不是我最好的工作——但我在学习的时候就已经开发了这个方法)。检查是否有重写该模型的其他扩展

您可以使用如下所示的简单php代码进行检查

echo get_class(Mage::getModel('catalog/product'));
如果打印的是
Mage\u Catalog\u Model\u Product
,则一定是缓存问题

如果您得到的是
Anais\u Accessories\u Model\u Product
,那么扩展确实有问题

如果您得到了其他东西,例如
名称空间\u模块\u目录\u产品
,那么您就有了另一个重写产品模型的扩展

为了解决此问题,您需要使
Anais\u附件
扩展依赖于重写产品模型的扩展。
为此,在
app/etc/modules/Anais\u Accessories.xml
中添加以下内容作为
的同级项。它仅适用于默认的Magento关系(相关、交叉选择、向上销售),但您可以轻松添加其他类型的pf关系。只需从app/code/community/Easylife/Relations/Model/Import/Relations.php编辑方法
getAllOptions
,然后像其他方法一样添加新的关系

$this->_options[] = array(
    'label' => Mage::helper('easylife_relations')->__('Accessories'),
    'value' => Anais_Accessories_Model_Product_Link::LINK_TYPE_ACCESSORIES,
);

但是在尝试之前备份数据库。它仍处于测试阶段。

我刚刚在CE-1.8.1上测试了扩展,并且运行顺利。
清除缓存并禁用编译,然后重试。
还要记住,扩展重写了
Mage\u Catalog\u Model\u Product
类(产品模型)

我知道这不是一个好方法(我可能会说这不是我最好的工作——但我在学习的时候就已经开发了这个方法)。检查是否有重写该模型的其他扩展

您可以使用如下所示的简单php代码进行检查

echo get_class(Mage::getModel('catalog/product'));
如果打印的是
Mage\u Catalog\u Model\u Product
,则一定是缓存问题

如果您得到的是
Anais\u Accessories\u Model\u Product
,那么扩展确实有问题

如果您得到了其他东西,例如
名称空间\u模块\u目录\u产品
,那么您就有了另一个重写产品模型的扩展

为了解决此问题,您需要使
Anais\u附件
扩展依赖于重写产品模型的扩展。
为此,在
app/etc/modules/Anais\u Accessories.xml
中添加以下内容作为
的同级项。它仅适用于默认的Magento关系(相关、交叉选择、向上销售),但您可以轻松添加其他类型的pf关系。只需从app/code/community/Easylife/Relations/Model/Import/Relations.php编辑方法
getAllOptions
,然后像其他方法一样添加新的关系

$this->_options[] = array(
    'label' => Mage::helper('easylife_relations')->__('Accessories'),
    'value' => Anais_Accessories_Model_Product_Link::LINK_TYPE_ACCESSORIES,
);

但是在尝试之前备份数据库。它仍处于测试阶段。

您对我们建议的扩展有什么要求???请阅读(“问题标题”)-谢谢@PavanKumar的要求是,它需要用于产品配件(与相关产品、追加销售和交叉销售的方式相同),但用于展示配件。请检查此项,我们将建议的扩展对您的要求是什么???请阅读(“问题标题”)-谢谢@PavanKumar的要求是,它需要用于产品配件(与相关产品、追加销售和交叉销售的方式相同),但用于展示配件。请检查此项您是明星!我正在使用简单的可配置产品扩展,它也重写了Mage_Catalog_Model_产品-完全忘记了我在使用它!改变Anais_的配件以依赖于这一点已经成功了。多谢各位much@ChristopherThrower为了安全起见,请检查简单的可配置产品扩展是否仍能正常工作。看起来功能正常。顺便说一句,产品附件数据是否在产品出口中显示,我在屏幕上看不到任何内容there@ChristopherThrower. 不。抱歉,它未链接到导入/导出功能。您可以仅从UI使用它(或者您可以创建导入/导出功能,如果您愿意的话)不确定如何扩展该功能,但我会研究一下-我有大约3000个产品需要添加附件,因此通过CSV文件可以更快地做到这一点:-)您是一个明星!我正在使用简单的可配置产品扩展,它也重写了Mage_Catalog_Model_产品-完全忘记了我在使用它!改变Anais_的配件以依赖于这一点已经成功了。多谢各位much@ChristopherThrower为了安全起见,请检查简单的可配置产品扩展是否仍能正常工作。看起来功能正常。顺便说一句,产品附件数据是否在产品出口中显示,我在屏幕上看不到任何内容there@ChristopherThrower. 不。抱歉,它未链接到导入/导出功能。您可以仅从UI使用它(或者您可以创建导入/导出功能,如果您愿意),但不确定如何扩展该功能,我将对此进行研究-我有大约3000个产品需要添加附件,因此通过CSV文件执行该操作会快得多:-)
$this->_options[] = array(
    'label' => Mage::helper('easylife_relations')->__('Accessories'),
    'value' => Anais_Accessories_Model_Product_Link::LINK_TYPE_ACCESSORIES,
);