Tôi đã chơi xung quanh với Quy tắc giá giỏ hàng cho Magento Enterprise 1.14.1.0 và đã vấp phải một vấn đề.
Tôi đã cố gắng tạo một quy tắc đơn giản để bạn được giảm giá £ 10 nếu bạn mua bất kỳ 3 mặt hàng nào từ một danh mục xác định và đã chi hơn 15 bảng. Xem cấu hình của tôi dưới đây.
Trong giỏ hàng của tôi, tôi có 3 mục từ danh mục có id 5
và 1 mục từ danh mục có id 3
.
Khi tôi kích hoạt quy tắc này và xem giỏ hàng của mình, tôi nhận được lỗi nghiêm trọng. Đây là một phần của dấu vết ngăn xếp. Như bạn có thể thấy tôi đã tăng xdebug.max_nesting_level
đến mức khủng khiếp.
Fatal error: Maximum function nesting level of '18000' reached, aborting! in /dev/builds/1_14_1_0/lib/Varien/Object.php on line 344 Call Stack:
0.0003 348680 1. {main}() /dev/builds/1_14_1_0/index.php:0
0.0020 694956 2.Mage::run() /dev/builds/1_14_1_0/index.php:89
0.0068 1819640 3.Mage_Core_Model_App->run() /dev/builds/1_14_1_0/app/Mage.php:684
0.0509 9129168 4.Mage_Core_Controller_Varien_Front->dispatch() /dev/builds/1_14_1_0/app/code/core/Mage/Core/Model/App.php:354
0.0626 11074424 5. Mage_Core_Controller_Varien_Router_Standard->match() /dev/builds/1_14_1_0/app/code/core/Mage/Core/Controller/Varien/Front.php:172
0.0658 11765288 6. Mage_Core_Controller_Varien_Action->dispatch() /dev/builds/1_14_1_0/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php:250
0.1314 16963044 7. Mage_Checkout_CartController->indexAction() /dev/builds/1_14_1_0/app/code/core/Mage/Core/Controller/Varien/Action.php:418
0.3065 27313592 8. Mage_Checkout_Model_Cart->save() /dev/builds/1_14_1_0/app/code/core/Mage/Checkout/controllers/CartController.php:144
0.3195 28006864 9. Mage_Sales_Model_Quote->collectTotals() /dev/builds/1_14_1_0/app/code/core/Mage/Checkout/Model/Cart.php:458
0.3827 32507432 10. Mage_Sales_Model_Quote_Address->collectTotals() /dev/builds/1_14_1_0/app/code/core/Mage/Sales/Model/Quote.php:1331
0.6151 37466752 11. Mage_SalesRule_Model_Quote_Freeshipping->collect() /dev/builds/1_14_1_0/app/code/core/Mage/Sales/Model/Quote/Address.php:1013
0.6245 37839108 12. Mage_SalesRule_Model_Validator->processFreeShipping() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Quote/Freeshipping.php:74
0.6247 37839784 13. Mage_SalesRule_Model_Validator->_canProcessRule() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Validator.php:249
0.6282 37960924 14. Mage_Rule_Model_Abstract->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Validator.php:223
0.6418 38895940 15. Mage_Rule_Model_Condition_Combine->validate() /dev/builds/1_14_1_0/app/code/core/Mage/Rule/Model/Abstract.php:353
0.6420 38896372 16. Mage_SalesRule_Model_Rule_Condition_Product_Subselect->validate() /dev/builds/1_14_1_0/app/code/core/Mage/Rule/Model/Condition/Combine.php:307
0.6421 38896772 17. Mage_SalesRule_Model_Rule_Condition_Product_Combine->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Subselect.php:117
0.6428 38898084 18. Mage_SalesRule_Model_Rule_Condition_Product_Subselect->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:219
0.6429 38898484 19. Mage_SalesRule_Model_Rule_Condition_Product_Combine->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Subselect.php:117
0.6433 38898572 20. Mage_SalesRule_Model_Rule_Condition_Product_Subselect->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:219
0.6434 38898972 21. Mage_SalesRule_Model_Rule_Condition_Product_Combine->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Subselect.php:117
0.6439 38899060 22. Mage_SalesRule_Model_Rule_Condition_Product_Subselect->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:219
0.6440 38899460 23. Mage_SalesRule_Model_Rule_Condition_Product_Combine->validate() /dev/builds/1_14_1_0/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Subselect.php:117
Khi tôi loại bỏ If total quantity is 3
phần Condition
đó thì Magento không còn bối rối nữa. Ai đó có thể chỉ cho tôi cách chính xác để định cấu hình chương trình khuyến mãi này không, cũng như làm sáng tỏ lý do tại sao tôi lại béo?
Đây là bản cài đặt vanilla của Magento và tôi lo ngại rằng tôi có thể phá vỡ giỏ hàng một cách dễ dàng.
Cập nhật
Tôi đang chạy mysql như
Server version: 5.5.41-0ubuntu0.12.04.1 (Ubuntu)
Và PHP là
PHP 5.3.10-1ubuntu3.15 with Suhosin-Patch (cli) (built: Oct 29 2014 12:16:30)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd., and
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Cập nhật 2
Một bãi chứa cơ sở dữ liệu có sẵn ở đây, có giá ~ 130kb.
http://www.lukerodgers.co.uk/files/vanilla_1_14_1_0.sql.gz
- Được tạo bằng mysql chạy nó dưới dạng root @ localhost không có mật khẩu
- Tên người dùng bảng quản trị Magento là
admin
và mật khẩu làpassword1
- Bạn sẽ cần cập nhật
web/unsecure/base_url
vàweb/secure/base_url
vàocore_config_data
để trỏ đến phiên bản cài đặt của bạn.
Nhân rộng
- Là khách, Thêm 1 Green Bowler vào giỏ hàng của bạn
- Sau đó, thêm 3 đôi giày xanh vào giỏ hàng của bạn
- Hy vọng có một lỗi khủng khiếp như tôi đang thấy
magerun index:reindex:all
và nó không có sự khác biệt. Tôi siêu bận rộn hôm nay và ngày mai tại nơi làm việc, nhưng nếu bạn vẫn không sao chép, tôi sẽ có thể cung cấp một bãi chứa DB vào thứ năm nếu điều đó tốt?