为什么 Magento cart.create 函数会使购物车处于非活动状态?

2024-01-09

我一直在摆弄 Magento 购物车 API (Magento v.1.5),发现当创建购物车(并添加产品)时,“sales_flat_quote”表中的“is_active”值设置为“0”。相反,如果您使用商店界面中的“添加到购物车”按钮,则“is_active”值将设置为“1”。

我做了一些挖掘,发现 API 在 app/code/core/Mage/Checkout/Model/Cart/Api.php 中设置了“is_active”。

这是相关的代码块:

public function create($store = null)
{
    $storeId = $this->_getStoreId($store);

    try {
        /*@var $quote Mage_Sales_Model_Quote*/
        $quote = Mage::getModel('sales/quote');
        $quote->setStoreId($storeId)
            ->setIsActive(false)
            ->setIsMultiShipping(false)
            ->save();
    } catch (Mage_Core_Exception $e) {
        $this->_fault('create_quote_fault', $e->getMessage());
    }
    return (int) $quote->getId();
}

所以我不确定使其虚假的意图是什么。商店接口和 API 之间的行为差​​异是否有原因?或者是否必须通过 API 完成一些其他操作才能激活购物车?


我最好的猜测,这是一个猜测,因为我无法读懂原始开发人员的想法,他们会试图阻止 API 生成的报价出现在废弃的购物车报告中。

is_active 标志用于指示客户的有效报价,并且客户只能有一个有效报价。该标志还用于了解何时可以从系统中自动删除报价,其理论是,如果报价不活跃,则它已转换为订单并且不再需要。如果 Mage_Checkout Cart API 将该标志设置为 false,则报价可能会在您将其转换为订单之前进行自动清理。通过将该标志设置为 false,还会阻止您使用 API 创建客户可以在前端使用的实时报价。

所以,我想说,如果您使用 APIcreate您需要添加publish() 方法的客户报价。如果您使用 API 来modify客户的现有报价,您不会遇到问题,因为它仅在创建新报价时才会出现。

无论如何,我个人认为当前的行为是一个错误,因为清理例程使用该标志来指示可移动引号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Magento cart.create 函数会使购物车处于非活动状态? 的相关文章

  • Magento,翻译验证错误消息

    我已经成功创建了原型验证的新规则 现在我需要翻译错误消息 位置 Javascript 中的字符串 但是 我只能翻译所有消息 我的新自定义消息似乎无法翻译 我该如何改变这个 也许你需要一个jstranslator xml里面的文件etc fo
  • reindex 目录 URL 在 magento 中重写永无止境

    我已使用自定义导入配置文件将 6K 类别和 16K 产品导入到 magento 当我尝试重新索引时 除了 目录 URL 重写 之外的所有内容都正常工作 该 目录 URL 重写 一直显示 正在处理 但从未完成 日志和异常文件不显示任何内容 我
  • IE 抛出 JavaScript TypeError 但在 chrome 上不抛出

    描述在我们的 Magento 购物车上 当用户单击添加到购物篮在任何 Internet Explorer 浏览器的 产品详细信息 页面上单击按钮 浏览器中都会弹出一个包含以下错误消息的窗口 异常 类型错误 无法获取未定义或空引用的属性 ta
  • 在 Magento 控制器中使用 move_uploaded_file

    我是 magento 的新手 我正在 magento 管理中创建用于文件上传的自定义模块 现在我已将上传文件发布到我的模块控制器中 这里我用过move uploaded file将文件上传到与控制器文件夹相同的目录中 下面的代码我用于控制器
  • 如何轻松调试布局 Xml 警告/错误?

    我陷入了这个错误 Warning simplexml load string Entity line 46 parser error Comment not terminated in lib Varien Simplexml Config
  • magento 删除管理菜单项

    在magento中 是否可以删除管理中的菜单项 我有一个新模块 并将评论和评级拉到一个新部分 我不反对将它们也留在目录部分 但如果可能 并且干净 我想将其从那里删除 将下一行添加到扩展 config xml 文件
  • 如何在 magento 的左侧栏中显示最新、评价最高和最好的产品

    我正在使用 Magento 版本 1 5 0 1 在主页中 我使用了 2 列和左栏 我想逐一展示最新的 评价最高的和最好的产品 请帮助我如何做到这一点 我是magento新手请帮助我 在您的 app design frontend your
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • 如何在购物车中显示自定义属性(Magento)

    我尝试了很多东西 但没有一个起作用 我想我可以在产品页面上获取自定义属性 但我想知道 如何在购物车页面中获取它们 属性只是简单的文字 item gt getProduct gt load 将从数据库重新加载所有产品数据 虽然这可行 但请记住
  • Magento - 无法重新索引产品价格 - 外键约束失败

    我最近刚刚将我的 magento 商店从 1 4 2 升级到 1 7 0 2 升级进行得很顺利 但是当我尝试在升级后重新索引数据时 产品价格失败了 我尝试过使用php shell indexer php reindexall来自 SSH 它
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • 创建单个随机 Magento 优惠券

    我遇到了一些麻烦 我想要做的是每次有人订阅我们的时事通讯时 在 Magento 中自动生成一个随机优惠券代码 这张优惠券可减 10 美元 并且有exp 订阅后两周的日期 因此 我正在尝试编写一个简单的脚本 当提交 订阅我们的时事通讯 表单时
  • Magento 以编程方式创建捆绑产品

    在哪里可以找到使用 PHP 创建 BundleProducts 的完整且有效的示例 我正在使用 Magento 1 7 谷歌只给我片段 EDIT 到目前为止我正在使用这段代码 但是保存会抛出异常 致命错误 在第 73 行对 app code
  • Wamp 和 Magento 出现 500 内部服务器错误

    我被困在访问安装页面 似乎无法让它工作 它总是给我一个 500 Internal Server Error 错误 我研究了一些类似的问题解决方案 但它们不起作用 您在帖子评论中给出的错误应该会在经过一些搜索后引导您找到解决方案 问题是 Ma
  • 如何自定义 Magento 主题并保留其源代码

    运行 Magento 1 7 0 2 最新 我下载了一个免费主题并安装了它 没问题 我希望开始对其进行细微的编辑 但我不想触及源代码 我想在一个目录中进行编辑 在该目录中它们将渲染并覆盖基本自定义主题 但如果我要在发布新版本时升级免费主题
  • Magento 外部登录不会创建会话 cookie

    我正在尝试从外部站点替换 Magento 的相当笨拙的 ajax 登录 该网站使用 Magento 作为商店 站点和 magento 商店都有自己的登录信息 因此当用户登录时 两者同步非常重要 这是通过每次页面重新加载时进行 ajax 调用
  • Magento:查找包含产品的订单

    Magento 有没有办法找到包含给定产品的所有订单 如果可以通过管理面板来完成就更好了 报告 gt 产品 gt 订购的产品向我提供了产品销售的日期以及包含该产品的订单数量 但我需要知道哪些特定订单包含该产品 谢谢你 这个问题我在另一个问题
  • Magento 信用卡号与信用卡类型不匹配异常

    我正在使用 magento api 并且在创建订单时遇到了一些问题 我已经能够完成创建订单的所有工作 使其能够正常工作 我看到的问题是 当我调用创建订单的方法时 我总是遇到异常 Credit card number mismatch wit
  • 从 Magento 产品视图中的可配置产品中获取所有简单产品

    如何获取与可配置产品关联的所有简单产品 我找到了如何做相反的事情 从简单的产品获得可配置的产品 但这不是我需要的 我想显示所选产品的库存数量 可配置属性 我最初的想法是打印所有数量的库存并用 jQuery 控制显示 任何想法 使用下面的代码
  • 检查前端是否管理员登录

    我编写了一个模块 其行为方式应与内联翻译相同 如果我是管理员并且已登录 我可以在前端看到一些特别的东西 但如果我不是管理员 那么我就看不到任何东西 如何让模块知道前端区域管理员已登录 UPDATE 1 为了澄清事情 我想描述一下我的模块行为

随机推荐