我刚刚在 CE-1.8.1 上测试了扩展,它运行顺利。
清除缓存并禁用编译,然后重试。
还要记住,扩展重写了Mage_Catalog_Model_Product 类(产品模型)。
我知道这不是一个好方法(我可能会说这不是我最好的工作 - 但我在学习很多东西时开发了这个)。检查您是否有其他扩展可以重写该模型。
您可以使用如下所示的简单 php 代码进行检查。
echo get_class(Mage::getModel('catalog/product'));
如果您打印的是Mage_Catalog_Model_Product,那么它一定是缓存问题。
如果你得到Anais_Accessories_Model_Product,那么扩展确实有问题。
如果你得到其他东西,例如Namespace_Module_Catalog_Product,那么你有一个重写产品模型的其他扩展。
为了解决这个问题,您需要使 Anais_Accessories 扩展依赖于重写产品模型的扩展。
为此,在app/etc/modules/Anais_Accessories.xml 中添加以下内容作为<active> 标记的兄弟。
<depends>
<Namespace_Module /> <!-- put here the name of the extension that rewrites the product model -->
</depends>
然后您需要使Anais_Accessories 扩展中的产品模型扩展您从上面的echo 语句中获得的模型。
编辑app/code/community/Anais/Accessories/Model/Product.php 并替换
class Anais_Accessories_Model_Product extends Mage_Catalog_Model_Product{
与
class Anais_Accessories_Model_Product extends Namespace_Module_Catalog_Product{ //make it extend the value you got from the echo statement above.
那里...这应该涵盖所有情况,并且您仍然可以保留并使用您的其他扩展程序来重写产品模型(如果有的话)。
[编辑]
有点跑题了,但是太长了,不适合评论:
为了快速导入产品关系,我可以向您推荐这个扩展:https://github.com/tzyganu/ProductRelationsImport。它仅适用于默认的 Magento 关系(相关、交叉销售、追加销售),但您可以轻松添加其他类型的 pf 关系。只需从 app/code/community/Easylife/Relations/Model/Import/Relation.php 编辑方法 getAllOptions 并像其他方法一样添加新关系。
$this->_options[] = array(
'label' => Mage::helper('easylife_relations')->__('Accessories'),
'value' => Anais_Accessories_Model_Product_Link::LINK_TYPE_ACCESSORIES,
);
但是在尝试之前备份你的数据库。它仍处于测试阶段。