Magento 中 setCouponCode 函数的定义在哪里

发布于 2024-07-14 01:32:21 字数 185 浏览 8 评论 0原文

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

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

因此,如果有人知道该函数是在哪里定义的,或者我可以在哪里修改代码以使优惠券代码始终显示,请告诉我。

I know that setCouponCode is catch inside __call in Varien_Object but I can't figure out where it is defined.

I need it because I want to show the coupon code even if the discount equal zero.
I believed it's done inside this function.

So if anybody know where the function is defined or where I can modify the code to get the coupon code displayed all the time, please let me know.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

哆兒滾 2024-07-21 01:32:21

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

Most text editors have a 'search in files/folders' option. Open the source folder and search for function __setCouponCode.

注定孤独终老 2024-07-21 01:32:21

好吧,我想通了。
SetCouponCode 正在设置魔术函数中 coupon_code 的值。

Ok I figured it out.
the SetCouponCode is setting the value for coupon_code in the magic function.

恋你朝朝暮暮 2024-07-21 01:32:21

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

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

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

如果有人解决了这个问题或者可以复制这些条件:我很乐意就 magento 的缺陷进行对话,以便从购物车中删除适当的产品 - 这意味着适当的报价刷新。

参考:
- app/code/core/Mage/Sales/Model/Quote.php -> public function removeItem($itemId)

是的,magento 核心问题。

Related to this, did anybody notice that the quote is not being deleted properly? I say it is related to this because the coupon code variable keeps the value [if any] after you delete a product from cart.

Try:
1. Set some Shopping Price Cart Rule to a product and make it display a banner on the header section for example.
2. Add product to checkout/cart in order to trigger the rule and show the banner on the Cart.
3. Delete the product from cart and you will see the banner still showing on the header section.

Note. If you have another product in cart this will not work because when you delete the one that triggered the rule&banner the Coupon Code will get replaced with the one that belongs to this other product in cart.
SO this bug only works if only the product that triggers the rule&banner is in cart.

If anybody has a fix on this or can replicate these conditions: I'd love to have a conversation about magento's deficiency to make a proper product delete from cart - which implies a proper quote refresh.

Reference:
- app/code/core/Mage/Sales/Model/Quote.php -> public function removeItem($itemId)

And yes, magento core issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文