Better Together Admin now 50% off

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.

Welcome, Discount Chooser and Discount Spender!

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!

New PHP Versions and Better Together Admin / Combination Discounts Admin

If you are using Better Together Admin (Zen Cart or osCommerce) and getting a log message that looks like this:

Only variables should be assigned by reference in YOUR_ADMIN/includes/xajax/xajax_core/ on line 268

or this:

PHP Strict Standards:  Non-static method xajaxPluginManager::getInstance() should not be called statically, assuming $this from incompatible context in YOUR_ADMIN/includes/xajax/xajax_core/ on line 269

Then please refer to the instructions for fixing this issue on the Better Together Admin help page.

The same instructions apply for Combination Discounts Admin.

osCommerce Updates!

osCommerce has been released, with changes to the MySQL layer. If you are getting messages like:

PHP Warning:  mysql_num_rows() expects parameter 1 to be resource, object given in ...


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

then simply change the call “mysql_num_rows” to “tep_db_num_rows” in the following places:

osCommerce Better Together includes/modules/order_total/ot_better_together.php line 418(if using Buy Both Now, line 389)
osCommerce Quantity Discounts includes/modules/order_total/ot_quantity_discount.php line 547
osCommerce Big Chooser includes/modules/order_total/ot_big_chooser.php lines 55 and 1220
osCommerce Big Spender includes/modules/order_total/ot_bigspender_discount.php lines 48 and 716
osCommerce Table Discounts includes/modules/order_total/ot_table_discounts.php lines 131 and 566

So the old code looked like this:

        $this->_check = mysql_num_rows($check_query);

the new code will look like this:

        $this->_check = tep_db_num_rows($check_query);

Better Together Admin for osCommerce

Are you tired of having to hand code in discounts in Better Together for osCommerce?   Well I have news for you – you don’t anymore!  The Better Together Admin Panel for osCommerce is now ready.  It works on osCommerce 2.2 and 2.3, and it’s only $60.  Paypal to along with your cart URL and osCommerce version to get started!

Here’s a screenshot:


Once you select the linkage type, the two drop down menus populate accordingly (with categories or products).

Once that’s complete, your discount is ready to use in your cart!

Multiple VAT Levels and my Zen Cart discounts

Every once in a while, a European customer complains that tax recalculation in my Zen Cart mods is not working correctly for their store with multiple levels of embedded taxes.  (This is also an issue in osCommerce.)

Here’s what to look for: non-unique strings in the descriptions of taxes (this is shown in Admin->Locations/Taxes->Tax Rates)


Because of the way Zen Cart (and osCommerce) represent taxes in the order object, the tax descriptions must be unique to allow for reverse lookups.  So try changing the strings “Varav moms” to “Varav moms (1),” “Varav moms (2),” etc. to make them unique.