In this end to end test video, we see the process of creating a new discount for OpenCart using Discount Chooser, and then watch the discount get reflected in the shopping cart.
This video shows how newly added discounts are validated in Discount Chooser for OpenCart before they are shown to your customers.
You can see in this video how easy it is to create a new discount with OpenCart Discount Chooser.
Now that Discount Chooser is becoming the gold standard for discounting offers in ZenCart, osCommerce, and (soon) OpenCart, I have decided to reduce the price of Better Together Admin.Better Together Admin for Zen Cart and Better Together Admin for osCommerce are now price reduced to just $30 for software only, or $90 for the software plus installation. If you have been holding off on buying the Better Together Admin Panel, now is your chance.
If your discounting needs are limited to BOGO style offers, Better Together is still a great choice, so I hope a lot of people will take advantage of this lower price.
When I first created Free Gift Chooser, it only offered 100% discounts (“free gifts”), based on the content of the cart. About a year later, I added the ability to do price reductions – percentage or dollar based. So the name “Free Gift Chooser” was no longer very accurate.
With the pending release of the Free Gift Chooser algorithm for OpenCart, I’m taking this opportunity to rename the Zen Cart and osCommerce versions of Free Gift Chooser to Discount Chooser (and similarly, to rename Free Gift Spender for Zen Cart to Discount Spender).
Same powerful discounting software; new name!
I have said for some time that I’d do a discounting module for OpenCart that included an admin panel. Well, I’m finally working on it. It’s basically Free Gift Chooser, but I used a different name to signal that you could do discounts as well as free offers. So for the next little while I’ll be blogging about the progress of Discount Chooser for OpenCart.
Back in 2013 I extended the one-to-one linkage concept in Zen Cart Better Together with the One-to-Many feature. This addition of three new radio buttons in the Zen Cart admin panel effectively tripled the number of permutations of computed discounts. What could go wrong?
Well, as it turned out, a number of things! Freed from the classic one-to-one constraint, the configuration
would discount a *single* product 3, because it miscounted the number of items in the cart. You can see this error in the screenshot above.
This bug is fixed in Better Together 2.5.3 for Zen Cart, which is available in the Plugins area.
You may have already heard that Mastercard is rolling out cards that start with a “2” instead of the traditional “5.” You’ll want to check your version of Zen Cart to be sure you can handle this. Versions 1.5.5b and above have built in logic for the native payment methods (such as Authorize.net); if you are running a lower version, you will need to merge in the changes from the latest copy of includes/classes/cc_validation.php. If you are using an extension to manage credit card payments, be sure to test with Mastercard 2223000048400011. Then you can have confidence that your cart properly processes “2” series Mastercard cards.
Better Together is a BOGO discounting module I created for Zen Cart. I have ported the logic to a few other carts (osCommerce, Prestashop, and OpenCart), and this post pertains to the OpenCart port.
The first release of the Better Together for OpenCart module was for OpenCart 1.5. Then I made a handful of tweaks for compatibility with version 2.0. Now I knew I had to upgrade for 2.3 compatibility, but since the version 2 changes were pretty easy, I honestly thought upgrading for version 220.127.116.11 of OpenCart would be trivial. I was wrong! There were a few tricky things, and I’ll share them here in case other software developers are working on upgrading their pre-2.3 extensions.
- The file paths are different. All file paths now include “extension” directories. So instead of
catalog/model/total/better_together.php, the file path becomes
- The inheritance hierarchy is different. So instead of declaring your model class as ModelYourClass, it’s ModelExtensionYourClass, which extends Model.
- This is what really tripped me up. Because the 2.3 base class overrides getters and setters, you have to be sure to declare all your class variables so that magic methods won’t be used to access them(*). If you came out of PHP4, this is a bit of an adjustment, but there you are. The positive thing is that it makes your code more self-documenting.
(*) If you don’t do this, you’ll get the “Indirect modification of overloaded property has no effect” fatal error.