gpt4 book ai didi

Magento:报价项目和报价地址项目之间的概念区别是什么?

转载 作者:行者123 更新时间:2023-12-04 03:02:28 25 4
gpt4 key购买 nike

灵感来自 another question我最近在 SO 上看到,我想看看是否有人可以解释报价项目 (Mage_Sales_Model_Quote_Item) 和报价地址项目 (Mage_Sales_Model_Quote_Address_Item) 之间的区别?

我想我理解报价项目的概念(Mage_Sales_Model_Quote_Item - 映射到 sales_flat_quote_item 数据库表) - 基本上是客户购物车中的一个行项目,其中包括产品的名称/sku、数量和任何特殊选项。我不明白的是报价地址项目 Mage_Sales_Model_Quote_Address_Item - 映射到 sales_flat_quote_address_item 数据库表)的用途。我看到它有一个与之关联的地址,但这到底是为了什么?我可以想象它可能与多地址运输(我从未使用过)有关,但这是一个疯狂的猜测。

作为第二个问题(实际上是这个问题的全部原因:/),是否存在处理报价项目的自定义模块可以安全地忽略报价地址项目的任何情况?

最佳答案

我以前处理过这个。

基本上报价项目与您描述的一样。它代表购物车中的一个行项目及其所有详细信息。

至于报价地址项目,它只是一个对象,其中包含对报价项目对象的引用、对地址对象的引用以及要运送到该特定地址的报价项目的子集数量(但随后它们复制从报价项目到它的所有内容,但无用)。

在多发货结帐的情况下,报价地址项目用于创建多个 Magento Order 对象(每个订单都与报价项目的子集分开)。

当然,这是一个笨拙的设计。如果他们只保留报价项目数据并添加地址 id 字段并完全消除“报价地址项目”概念会更好。看起来像是一个过度规范化的案例,结果适得其反。

想要弄乱购物车的代码可以安全地忽略报价地址项目,以防只处理单页结帐(并且禁用多发货)。

如果您还想让更改在多发货结帐中正确显示,您还必须弄乱报价地址项目(并且这些区域的代码非常难看)。

关于Magento:报价项目和报价地址项目之间的概念区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com