Zen Cart Better Together Admin Panel
Better Together Admin simplifies the process of adding discounts to
Better Together.
Background: See the
Zen Cart Matrix-o-discounts for a perspective on Better Together.
Relevance: Zen Cart™ 1.3.5-1.3.9, 1.5.x, along with
Better Together.
You must have JavaScript enabled in your browser.
This extension is part of the
Better Together World.
Current Version: 3.1
Occasionally, new features are documented prior to being publicly available;
please
check the version history to ensure the
feature you want is available in your version.
Support Thread: My commercial software is not supported on the Zen Cart forum. Please email me questions instead.
Cost: $60 (Upgrade for Zen Cart 1.3.x from prior version - $10)
Buy Now!
(Note: this low price covers software only for self-installation)
Installed Cost: $120.00
(Professional installation by That Software Guy)
Installation Difficulty: Moderate
Installation Instructions: click here
Common Installation Issues: click here
Download: Click for instructions on
how to buy my software.
FAQ: click here
See it Live: Go to
my demo admin, and login with userid "test" password "test".
Better Together Admin is under the Tools menu.
Bugs: click here
Incompatibilities: This software is believed to be incompatible
with
Simple SEO URL by Numinix.
This software will also not work with AJAX add-to-cart or checkout mods
that do not reload the page when changing the cart contents or checking out.
Please do not order this software if you are using these mods.
osCommerce User? This is a Zen Cart page. Look at the
Better Together for osCommerce World for osCommerce help.
Overview:
This pages assumes a basic familiarity with
Better Together.
Better Together is a very popular module, but many people
have told me they dislike need to edit a file in order to
add "linkages" (the term I used to describe associating
one product with another for the purpose of discounting).
So I created an admin panel which allows you to add linkages in a way which will be familiar to
users of the Zen Cart admin system.
Better Together Admin Panel
The page is broken into two areas: on the top, a list of existing
discounts, and on the bottom, a form to allow you to add new linkages
to create new discounts.

If you go to
my demo admin, and login with userid "test" password "test"
you can see Better Together Admin live.
It's under the Tools menu.
Discounts are listed in the order they were created. Discounts can currenly be
deactivated or deleted but not edited directly.
To edit a discount, delete the existing one and create a new one.
Once you select a linkage type, the appropriate fields are filled in
for the first product or category and the second product or category.
For instance, in this example, the Linkage Type "A product and a category" (add_prod_to_cat) is selected.
The "Buy" dropdown is automatically populated with a complete list of
categories, with a list of products for the selected category, and the "Get" dropdown is automaticallly populated with a complete list of categories.
Choose the correct category, then the correct product within that category
for the "Buy" item. Then choose the correct category for the "Get" item.
Better Together Admin - Add a new linkage - step 1
You then select the discount units (% or $ off, or Cross Sell), fill in the amount,
and press "Submit."
Better Together Admin - Add a new linkage - step 2
The page refreshes, and you see your new linkage at the top of the list.
Better Together Admin - Add a new linkage - step 3

You can try Better Together Admin live yourself by going
to
my demo admin, and logging in with userid "test" password "test".
It's under the Tools menu.
If you decide you don't want to offer one of your discounts, you
have two options: you may permanently delete the discount with the
"Delete" button, or you may temporarily suspend the discount with the
"Set Inactive" button. When you set a discount inactive, the notation
"INACTIVE" is painted next to the discount in red letters.
This discount will not be applied at checkout, nor will it show up
in the
Better Together marketing text, on the
Better Together Promotional Page, or in
Checkout Candy
on your shopping cart and shipping page.
The Set Inactive feature was added in Better Together 3.0; upgrades
for Zen Cart 1.3.x
are only $10.00 for prior purchasers.
Better Together Admin - set linkage inactive
When you inactivate a discount, the "Set Inactive" button changes
to say "Set Active."
To reactivate this discount, simply press the "Set Active" button.
Installation Instructions:
Upgrading Instructions:
If you are upgrading from a prior version of Better Together admin,
follow these instructions rather than the installation instructions
below:
- Unzip bt_admin.zip, and copy the contents of the unzipped
admin and includes folders to
the root directory of your shop. There is no need to reinstall xajax.
- Run the bt_admin_upgrade.sql file against your database.
Prior to Installation:
- Upgrade to the latest Better Together first.
- Go into Admin -> Tools -> Store Manager, and click on "Reset ALL
Products Master Categories ID".
Installation
- Back up everything! Try this in a test environment prior to installing
it on a live shop, and please be sure to upgrade to the latest Better Together first.
- Two zip files are provided. Unzip both, and copy the contents of the two unzipped folders to the root directory of your
shop. Note that the zip file "bt_admin_xajax.zip" is identical to
the file "cd_admin_xajax.zip" from Combination Discounts Admin; there is no
need to reinstall it if you have Combination Discounts Admin.
- Run the bt_admin.sql file against your database.
You can do this in phpMyAdmin or you can
use your Zen Cart admin panel under Tools->Install SQL patches.
If you are using phpMyAdmin and have used
a prefix in your database, modify bt_admin.sql to reflect this (i.e.
change "better_together_admin" to "zen_better_together_admin" if your prefix is "zen_").
- Edit the file
includes/modules/order_total/ot_better_together.php
Go to the bottom of file to the setup() function.
Change it so it looks like this:
function setup() {
if (!IS_ADMIN_FLAG) {
require(DIR_WS_MODULES . 'better_together_admin.php');
}
}
}
?>
The last 2 lines are the end of the file.
You should delete all manually entered discounts here so that all your
discounts will be visible through the admin panel.
- Better Together Admin will now be available in the admin panel under Tools.
Installation Problems:
The most common installation problems for this module are as follows:
-
Unfamiliarity with installing mods. Please review my
Guide to Mod Installation on Zen Cart.
- Forgetting to modify
includes/modules/order_total/ot_better_together.php
as described above.
- Installing Buy Both Now, which changes
includes/modules/order_total/ot_better_together.php
and forgetting to reapply the modification noted above.
-
A misunderstanding of "category." A category in Better Together is "the parent category
of a product." See
the Category Issues page
for a discussion of the treatment of categories in my mods.
-
Some hosts require scripts which are run from a URL - for example,
http://your-store.com/your-admin/better_together_admin.php
to have permissions 644. You may see a message like
HTTP 500: Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
when running Better Together Admin if this is the case with your host.
Simply set the permissions of admin/better_together_admin.php to 644
using your FTP client (or perhaps your CPanel File Manager).
- One European IE6 user reported that the linkage type dropdown was
not responding. The fix was to match the XAJAX encoding type with what
was actually being received from the server. At the top of the file
admin/better_together_admin.php, under the version number, insert the line
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'iso-8859-1');
(or whatever your encoding is).
You can tell you have 8859-1 encoding if you look at your web pages
and see a line like this close to the top:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
If so, and your dropdowns are not responding, try this fix.
-
Some people who use ISO 8859 encoding also have reported getting
errors like this:
PHP Warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument in
... admin\includes\xajax\xajax_core\xajaxResponse.inc.php on line 1575
If this is happening to you, edit the file admin/better_together_admin.php
and delete the function addCreateOptions (around line 26-37).
Insert this in its place:
function addCreateOptions($sSelectId, $options) {
$this->script("document.getElementById('".$sSelectId."').length=0");
if (sizeof($options) > 0) {
foreach ($options as $option) {
$optval = $option['val'];
$text = htmlentities($optval);
$text = html_entity_decode( $text, ENT_NOQUOTES, "UTF-8" );
$this->script("addOption('".$sSelectId."','". $option['id']."','".$text."');");
}
}
}
If your products have the registered trademark symbol (®) in their names
you need to make this change.
-
If try to run the Admin Panel and get an error like
1146 Table 'yourdb.zen_better_together_admin' doesn't exist
in:
[SELECT * FROM zen_better_together_admin ORDER BY id DESC ]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
this means you ran the sql script in phpMyAdmin without adding the
prefix manually. Delete the table "better_together_admin" and
edit bt_admin.sql file and add your prefix (e.g. change better_together_admin
to zen_better_together_admin if your prefix is "zen_".)
-
You have installed
Better Together, right? The admin panel doesn't include the
basic module, which is a free download from the Zen Cart forum.
-
I have seen installations where the AJAX queries fail (clicking linkage type
does not populate the dropdowns for Buy and Get) because misplaced
blank lines in PHP files.
If you do a View Source in your browser and see something like this:
The blank line before line 1 means the DOM parsing of the page will fail.
You must fix this before you will be able to use Better Together Admin.
If you are having trouble installing this module, you should also refer
to my
Guide to Mod Installation on Zen Cart.
I'm also happy to install most of my mods for a fee.
Major Versions
- 3.1 05/02/2010 - Adding Cross Sell (requires Better Together 2.3 / Buy Both Now 2.3 or higher)
- 3.0 01/01/2009 - Adding Set Inactive button
- 2.0 08/31/2008 - Adding cat_to_prod
- 1.0.3 07/19/2008 - Incompatibility with certain payment modules fixed
- 1.0.2 07/02/2008 - Language respected in creating lists.
- 1.0.1 06/02/2008 - Sort prods/cats alphabetically, check js enabled.
- 1.0 06/01/2008 - First release
Bugs
- If you are using Zen Cart 1.5.x and you are providing Better Together
Admin access to a non-superuser account, you must modify
./includes/extra_datafiles/better_together_admin_defines.php
and replace the line which defines FILENAME_BETTER_TOGETHER_ADMIN with
define('FILENAME_BETTER_TOGETHER_ADMIN', 'better_together_admin');
(i.e. remove the ".php" from the second string).
Then change all instances in admin/combination_discounts_admin.php from
$obj->redirect(FILENAME_COMBINATION_DISCOUNTS_ADMIN);
to
$obj->redirect(zen_href_link(FILENAME_COMBINATION_DISCOUNTS_ADMIN, '', 'NONSSL'));
-
Carts which use PayPal IPN were not handling
Better Together discounts properly when Better Together Admin was used.
This bug was reported in Better Together Admin 1.0.2 and below.
To fix, please move
includes/extra_configures/better_together_admin_defines.php
to
includes/extra_datafiles/better_together_admin_defines.php.
FAQ
Q: Why do all my categories not show up?
A: The definition of a "category" in Better Together is "the parent category
of a product." See
the
Category Issues page
for a discussion of the treatment of categories in my mods.
Q: Why do I have to enable Javascript to run the Better Together Admin Panel?
A: Because it uses AJAX, a Javascript based technology. This creates a
faster, more responsive user interface. If you do not enable Javascript in
your browser, you will see a flashing red error message at the top of the
page, and the Better Together Admin Panel will not operate.
Q: I would like to make it more obvious that a discount is inactive. How can I do this?
A: Edit the file admin/includes/bt_stylesheet.css and add
.inactive {
color:#FF0000;
}
Now the entire line for an inactive discount will be red. Lines for
active discounts use the ".active" class if you would prefer to do
it the other way around.
|
|
I charge a fee of $60 for the Better Together Admin Panel.
The fee covers software only; installation is extra if you require help.
|
Want more Zen Cart?
Tips and Tricks
Contributions
Extensions
Custom Software
Newsletter