Extended Family

Zen Cart Extended Family

Extended Family for Zen Cart simplifies the process of showing related products based on products or categories, with easy one-click adding for products with no attributes. (Note: Products with defaultable attributes may be used, if you have installed my Default Attribute mod.)

Relevance: Zen Cart™ 1.3.9, 1.5.x You must have JavaScript enabled in your browser.

Current Version: 1.2. 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: $25 Buy Now! (Note: this low price covers software only for self-installation.)

Would you like to ask me questions before buying? No problem! Just email your inquiry to . Please be sure to include your cart type and version (e.g. Zen Cart 1.5.1) and the mod you want to buy.

Installed Cost: $85.00 (Professional installation by That Software Guy)

Installation Difficulty: Easy-Moderate

Installation Instructions: See README in the mod.

Common Installation Issues: click here

Buy: Buy Extended Family! Or email your pre-purchase question to .

FAQ: click here

Configuration: Configuration of Extended Family is done by the built-in admin panel. You may try the admin panel yourself using the "See it Live" instructions below.

Incompatibilities: This mod builds dropdowns of all categories with products and all products in a specific category once that category is selected.

For this reason, if you have
  • over 400 categories containing products, or
  • categories with other 400 products in them,
please do not buy this software; the dropdowns will not work. You can determine how many categories you have by doing this query in phpMyAdmin:
SELECT COUNT( DISTINCT categories_id ) FROM products_to_categories;
If you are using a prefix, you must include it in this statement (e.g. "FROM zen_products_to_categories" instead of "FROM products_to_categories" if your prefix is "zen_").

Bugs: click here


Extended Family allows you to specify a list of triggers (products or categories), and an associated list of offers. Here's what the blank screen looks like:

Extended Family Cross Sell Initial Screen

Extended Family Admin Panel

For example, the configuration below shows that if you display either product 8 or product 19, you should show products 16 and 12 as cross sells.

Extended Family Cross Sell Creation

Extended Family Admin Panel

The page is broken into two areas: on the top, a list of existing cross sells, and on the bottom, a form to allow you to add new cross sells.

When you press the Submit button, a new cross sell gets created and displayed at the top of the screen. In this case, it looks like this:

Extended Family Cross Sell Creation

Extended Family Admin Panel
Here are what a group of cross sells look like.

Extended Family Cross Sell List

Extended Family List of Cross Sells

Cross sells are listed in reverse chronological order. Cross sells can currently be deleted or deactivated but not edited directly. The cross sells which are currently inactive are shown in red.
On the catalog side, now that we have created a cross sell for products 8 and 19 to show products 16 and 12, if you go to the product info page for product 8, you will now see a centerbox offering the two cross sold items.

Extended Family Cross Sell Results

Extended Family

Notice that each of these items has a checkbox - checking the checkbox allows them to be added to the cart right along with the main item when the Add to Cart button is pressed. As you might expect, the checkbox follows the same rules that adding a product from the listing page does: in order to show the checkbox,
  • The item must not not disabled (out of stock or otherwise).
  • The item must not have non-defaultable attributes.
An easy way to test this is to search for the item, and ensure the search results page shows the item with "Add to Cart" functionality and not a "More Info..." link).

Categories and products with attributes are still shown on the Related Items list, just without the checkbox.

Another Extended Family Example

Extended Family Admin Panel

In this example, the when the product info page for any item in the Printers category is shown, the customer sees Mice, Keyboards and CDROM drives shown in the extended family centerbox, which is shown below:

Extended Family Centerbox

Note that since these are all categories, no checkbox appears.

Sorting the Extended Family

The list of related items on the product info page is randomized by default, but can be sorted by product specific fields, (alphabetically by name, by price low to high, or by price high to low) or category id if desired. The sort setting is configured on Admin->Configuration->Extended Family. If one of these sort orders is used, the categories are shown at the bottom in alphabetical order (since they don't have prices). Here's a list of related items sorted by name

Extended Family Centerbox

and here's the same list sorted by price low to high.

Extended Family Centerbox

If you install Zen Cart Common XSell Sort Order , you may also sort by a special purpose field added to the products table.

Installation Problems:

The most common installation problems for this module are as follows:
  1. Unfamiliarity with installing mods. Please review my Guide to Mod Installation on Zen Cart.
  2. A misunderstanding of "category." A category in Extended Family is "the master category of the product, and all ancestors of that category" OR "a linked category for the product." See the Category Issues page for a discussion of the treatment of categories in my mods.
  3. Some hosts require scripts which are run from a URL - for example,
    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 Extended Family Admin if this is the case with your host. Simply set the permissions of admin/extended_family.php and admin/extended_family_backend.php to 644 using your FTP client (or perhaps your CPanel File Manager).
  4. If try to run the Admin Panel and get an error like
    1146 Table 'yourdb.zen_extended_family' doesn't exist
    [SELECT * FROM zen_extended_family 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. You can avoid this problem by running SQL scripts in Admin->Tools->Install SQL Patches.
  5. If you are granting access to Extended Family to a non-superuser in Zen Cart 1.5.x, you must make a change to a core file. In admin/includes/init_includes/init_admin_auth.php, add FILENAME_EXTENDED_FAMILY_BACKEND to the list of files checked on line 49.
  6. If you are pulling in jQuery and/or jQueryUI already in your admin panel, you will need to comment out the require statements that do that in ./admin/extended_family.php.
  7. If you are running 1.3.9 or prior with the Admin Profiles contribution, there are a few more steps. you must install the software, then go to Admin->Tools->Admin Settings, and check 'Extended Family' under the tools menu. Then go to Admin->Tools->Extended Family, and you'll get an error message in the form where cross sells are entered. Go back to Admin->Tools->Admin Settings, and check 'Extended Family backend'. Now Admin->Tools->Extended Family will work.
  8. Got a blank page? Review the guidelines for Debugging a blank page in Zen Cart
  9. Did you read the incompatibilities list? You may have too many categories, for example. If this describes you but you have already bought the software, please contact me; I may be able to write some custom logic (at additional cost) to help you make this mod work.
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


  • Prior to version 1.2, there was a bug in setting the sort under Admin->Configuration->Extended Family. To fix this, run fix_1.1.sql (in the installation package) from Admin->Tools->Install SQL Patches.


Q: Why do Linked Categories only work in Extended Family?
A: The definition of a "category" in Extended Family is different from all other mods (such as Table Cross sells, Big Chooser and so forth). It is "the master category of a product, and all that category's ancestors" AND "a linked category for the product." See the Category Issues page for a discussion of the treatment of categories in my mods.

Q: What do you mean by "defaultable attributes" or "single valued defaultable attributes?"
A: The two terms mean the same thing. They're just attributes for which a default value can be selected without needing input from the product info page. "Single valued" means the attribute has just one value. For example, a radio button with just one value (such as "PDF" or "ZIP file") is single valued. A radio button with two values (such as "red" or "green") would not be single valued. Similarly, "defaultable" means the single value can be easily set without needing additional input. For example, product with a single TEXT attribute would be single valued but not defaultable, since it's not known what the correct value would be. Similarly, a product requiring a file upload would not be defaultable.

Q: Why do I have to enable Javascript to run the Extended Family 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 Extended Family Admin Panel will not operate.

Q: Why is it called Extended Family?
A: Because it shows related products!

Q: What's the difference between Extended Family, Checkbox Cross Sell and Impulse Buy?
A: Impulse Buy appears only on the checkout shipping page and has its own configuration, which is hardcoded in PHP. Checkbox Cross Sell uses the Better Together configuration to determine what should be shown - either the original configuration in PHP in Better Together, or the Better Together Admin Panel configuration. Extended Family has its own configuration, which is created using the built-in admin panel.

I charge a fee of $60 for the Extended Family. Buy Extended Family.
The fee covers software only; installation is extra if you require help.