我正在构建一个自定义的Magento产品类型类。当用户将此产品类型的项目添加到他们的购物车时,某些数据需要与该项目相关联。自定义选项适用于存储此数据,但信息需要对用户保持隐藏这一事实。
我想我要么需要创建某种隐藏的自定义选项,要么以某种方式为产品添加另一个数据域。你怎么建议我这样做?
谢谢你,
本
答案 0 :(得分: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');