Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento:添加一个“;假;要购物车/报价的产品_Magento - Fatal编程技术网

Magento:添加一个“;假;要购物车/报价的产品

Magento:添加一个“;假;要购物车/报价的产品,magento,Magento,我了解如何以编程方式创建产品并将其添加到购物车。我知道这听起来可能很愚蠢,但是否有可能动态生成产品并将其添加到购物车/报价中,但实际上从未将其保存到数据库中 我们想创建一个定制界面,我想最后它可以添加一个包含所有选择的捆绑产品,但该捆绑产品实际上不存在于后端 我想,只要你能确保报价和订单符合产品的需求,就可以了,但很明显,在数据库中查找特定sku或ID可能会有很多问题。我知道,如果你删除一个产品,然后在管理员中查看导致问题的订单,至少在我处理的这个场景中是这样的 我在考虑创建一个巨大的捆绑产品,

我了解如何以编程方式创建产品并将其添加到购物车。我知道这听起来可能很愚蠢,但是否有可能动态生成产品并将其添加到购物车/报价中,但实际上从未将其保存到数据库中

我们想创建一个定制界面,我想最后它可以添加一个包含所有选择的捆绑产品,但该捆绑产品实际上不存在于后端

我想,只要你能确保报价和订单符合产品的需求,就可以了,但很明显,在数据库中查找特定sku或ID可能会有很多问题。我知道,如果你删除一个产品,然后在管理员中查看导致问题的订单,至少在我处理的这个场景中是这样的

我在考虑创建一个巨大的捆绑产品,它有6个不同的捆绑项目,每个项目可能有500个产品,然后根据用户的选择,我以编程方式将捆绑添加到购物车中。但我不确定拥有这样一个庞大的捆绑产品是否会产生负面影响

更新:
我认为这行不通,很明显,数据库中有很多与产品相关的信息,我们设置了一个测试,立即得到$item->getProduct()的一个错误。我们正在开发一个庞大的捆绑产品,同时也在开发通用产品,并在动态中添加自定义选项,安达在下面指出了这一点。任何其他建议都将不胜感激。

您可以通过编程方式创建
Mage\u Sales\u Model\u Quote\u商品,并将其添加到购物车中。您已经注意到它需要一个产品来匹配它的产品ID,但它不一定是一个有用的产品。它可以是一个空白的、禁用的产品,也可以用代码创建。只需要一个存根。

购物车所需的资料存储在报价项中,如名称、值和数量。然后,这些字段直接复制到订单中,而不使用产品。

我不确定clockworkgeek的方法是否有效。在每次页面加载时,Magento都会从购物车加载项目,以确保它们仍然有效(库存、价格正确等),并修改购物车以反映这些值。我过去对系统的理解是,购物车中的产品需要有相应的数据库值才能在这个过程中生存

“巨型捆绑产品”方法是一种痛苦,但在过去,它是我发现的最好的方法。尝试更改产品的值(例如价格或属性)将被购物车检查覆盖,因此您需要具有最大灵活性的产品,例如过度定制的捆绑产品或可配置产品

希望有帮助

谢谢,
Joe

为什么不在db中创建一个通用产品,然后根据用户选择动态地将产品自定义设置为自定义选项(附加选项)。您可以将自定义选项添加到产品(实际上是报价项),而无需将其保存在数据库中。我曾经为一个销售处方眼镜的网站做过一次。处方作为选项添加

Mage::getModel('catalog/product') 
创建一个新产品。您可以通过如下操作将其添加到购物车:

$cart = Mage::getSingleton('checkout/cart');
$product = Mage::getModel('catalog/product')
               ->setStoreId($storeid)
               ->setTypeId($type_id)
               ->setQty($quantyty)
               ->setWhatAttributYouWant($attribute);
$cart->addProduct($product);

产品属性可以在数据库中的表中找到,这些表以catalog\u product\u开头。。。或者拿一个已经创建的产品,看看它在_数据数组中有什么属性(使用调试器或者只打印($product->getData))

我要试试这个时钟。你可以使用setCustomPrice()(Mage_Sales_Model_Quote_Item_Abstract::setCustomPrice())动态更改添加到购物车中的产品价格。谢谢Joseph,我想象着所有这些检查库存和价格的工作都在进行中,只是从来没有真正深入研究过,我想我们会选择捆绑产品选项。我想我以前从你的投资组合中查看过你的眼镜网站。我将采用您的方法,看看与捆绑产品1相比会发生什么。我还不如什么都试一下,这样我们就知道将来可能发生什么。