【问题标题】:Where is the setCouponCode function is defined in MagentoMagento中定义的setCouponCode函数在哪里
【发布时间】:2009-02-19 12:26:22
【问题描述】:

我知道 setCouponCode 在 Varien_Object 的 __call 中被捕获,但我不知道它是在哪里定义的。

我需要它,因为即使折扣为零,我也想显示优惠券代码。 我相信它是在这个函数内部完成的。

所以如果有人知道函数在哪里定义或者我可以在哪里修改代码以让优惠券代码一直显示,请告诉我。

【问题讨论】:

    标签: php magento cart rule coupon


    【解决方案1】:

    大多数文本编辑器都有“在文件/文件夹中搜索”选项。打开源文件夹并搜索函数__setCouponCode。

    【讨论】:

    • 这并不容易。它使用魔术函数 __call 来计算调用树中的真实函数名。
    【解决方案2】:

    好的,我想通了。 SetCouponCode 是在魔法函数中设置 coupon_code 的值。

    【讨论】:

      【解决方案3】:

      与此相关,有没有人注意到引用没有被正确删除?我说这与此有关,因为在您从购物车中删除产品后,优惠券代码变量会保留值 [如果有的话]。

      尝试: 1. 为产品设置一些购物车价格规则,并使其在标题部分显示横幅。 2. 将产品添加到结帐/购物车以触发规则并在购物车上显示横幅。 3. 从购物车中删除产品,您会看到标题部分仍显示横幅。

      注意。如果您在购物车中有其他产品,这将不起作用,因为当您删除触发规则和横幅的产品时,优惠券代码将被购物车中属于该其他产品的产品替换。 因此,仅当触发规则和横幅的产品在购物车中时,此错误才有效。

      如果有人对此有解决方案或可以复制这些条件:我很想讨论一下 magento 的缺陷,即从购物车中删除正确的产品 - 这意味着正确的报价刷新。

      参考: - app/code/core/Mage/Sales/Model/Quote.php -> 公共函数 removeItem($itemId)

      是的,magento 核心问题。

      【讨论】:

        猜你喜欢
        • 2018-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 2012-11-12
        • 1970-01-01
        相关资源
        最近更新 更多