2011-07-08 77 views
1

我正在构建自定义Magento产品类型类。当用户将此产品类型的项目添加到购物车时,需要将某些数据与该项目关联。自定义选项对于存储这些数据非常有效,除了信息需要对用户隐藏的事实。自定义产品类型 - 隐藏自定义选项或数据字段

我在想,我需要创建某种隐藏的自定义选项或以某种方式向产品添加其他数据字段。你会如何建议我这样做?

谢谢

+0

我知道这个问题的答案,但是,我很感兴趣,您的应用程序。你能举个例子吗?谢谢。 –

+0

这是一个具有如此复杂选项的项目,Magento的标准自定义选项功能不足。 –

回答

1

在定制产品的模型添加这样的函数:

public function prepareForCart(Varien_Object $buyRequest, $product = null) 
{ 
    $buyRequest->setCertainData(...); 
    return parent::prepareForCart($buyRequest, $product); 
} 

这将存储“某些数据”作为自定义选项的结果,而不努力创建一个选项。一旦下令将结转到订单的项目的“产品选项”,您可以在以后retrieve it有:

// $item is a Mage_Sales_Model_Order_Item 
$item->getProductOptionByCode('certain_data'); 
+1

哼... Magento似乎没有调用prepareForCart方法。 –

+0

这是不寻常的。我已经成功地使用它来存储额外的产品数据,并且一些Magento现有的产品类型也具有该功能。 – clockworkgeek

+0

当我有时间希望了解为什么我的代码的prepareForCart没有被调用时,我想深入了解这一点。 –

相关问题