Zen Cart 1.5.7

Zen Cart 1.5.7 was released on 6/23/20, and you can see from this Github graph all the work that went into it. The grayed out region at the top right shows the period during which 1.5.7 was developed and released.

The X axis is time, of course. The Y axis is “number of commits,” which is a term that means changes, additions or deletions someone has made to the software repository. It’s exciting to me to see that the project has never been more active, and has never had more collaborators.

So what exactly does a commit look like?

Here’s one of mine that went into 1.5.7: built in help for admin. I added a help button to each screen in the admin, and linked it to the relevant page on the new Zen Cart help site (also a 1.5.7 effort). So now, the product has onscreen help directly linked from each admin page.

So how do you go from software commits to a user friendly format for delivering the information on what’s in the release? There’s a what’s new document that lists user-facing features in bullet form, so people can see the release content and find their favorite feature and start planning to upgrade.

So that’s the scoop on Zen Cart 1.57! The Zen Cart project has never been more active, and I’ve never been more excited about it.

Zen Cart Loyalty Reward Points – Better than Discounts?

I just published Zen Cart Reward Points, a new mod that allows stores to assign loyalty points to transactions, which can be redeemed later for merchandise. Unlike discounts, which reduce the bottom line right away, reward points offer a way to incentivize customers to stay with you, but deferred the costs.

The Reward Points mod is a custom software installation, configured according to your request. One of the implementation models involves using Frequency Discounts to compute reward points, so a customer would only earn reward points if purchases exceed a certain amount during a specific look-back window (say 90 days or 1 year).

Other implementation models are possible; just let me know your needs.

Zen Cart Changed Files Report now highlights 0 byte files

I just made a change to the Zen Cart Changed Files mod to highlight 0 byte files.

Zero byte files are produced when an FTP of a large number of files fails or times out. Obviously this can cause a lot of problems and take time to debug, so it’s best to know quickly if this is a problem you are having.

The zero byte files are colored in red for easy identification.

Responsive Fallback for Zen Cart

A lot of long-time users of Zen Cart have a template that was developed before mobile devices became so popular. These store owners have a difficult decision: give up the template they have grown to love, and start again with something responsive? Or just not worry about mobile traffic?

Now there’s a third choice. With my Zen Cart Responsive Fallback mod, you can keep your desktop template, but if a user visits on a mobile device, the template automatically switches to the built-in responsive_classic template, which was introduced in Zen Cart 1.5.5. It’s the best of both worlds!

Here’s a page rendered in a non-responsive desktop template:

Zen Cart Responsive Fallback - Desktop

and here’s the same page when viewed on a mobile device:

Zen Cart Responsive Fallback - Mobile

Zen Cart Missing Images

Everyone knows that images help sell products. But if you are uploading or creating a bunch of products all at once, it’s very easy to accidentally miss a product image here or there. So what’s a storeowner to do?

If you use my Missing Images for Zen Cart mod, you can quickly find and resolve those problems! Missing Images builds a report that shows you which products don’t have images (either because they were deleted or never uploaded in the first place), and provides a clickable edit link so you can quickly fix them. It’s a must for busy shops!

Automatically adding a downloadable product to the cart

People are using Zen Cart Auto Add to add bonus products to the cart when specific high value products are bought. But what if the bonus product is a downloadable? Since downloadables have attributes, this won’t work, right?

Wrong! All you need to do is install my free Default Attribute contribution, and you’ll be able to do this.

Zen Cart Jerkblocker

Blocking spam account creation and contact us usage has become increasingly important for Zen Cart operators, as bad guy activity has only gone up in the past few years. But how to do it!

The approach I used was to look for particular things which were commonly associated with bad traffic. Account creation attempts with these characteristics error out, and contact us attempts with these characteristics are dropped. The result is Jerkblocker for Zen Cart. It’s available to all my support customers on request.

osCommerce is … back?

I’m a pretty skeptical fellow but I must confess to being impressed by some of the work that has been done in osCommerce Phoenix. In particular, building templates using content blocks enabled by admin was an inspired choice.

For modders, if you make the handful of changes described in my Phoenix Tweaks page, your old osC 2.3 code will likely work, but a better path is to adopt Phoenix standards and just update your code.

I have taken the latter approach in Better Together for osCommerce Phoenix. I look forward to updating my other osCommerce modules in the coming months.

New Query examples added to Zen Cart Delete Spam Customers

I updated the documentation for Zen Cart Delete Spam Customers to provide more examples for common spam hints that I am seeing from my support clients. If you are suffering from a deluge of spam from Russia, Ukraine or another country, please know that help is on the way! In addition to Delete Spam Customers, I highly recommend these mods for spam prevention:

Also, I’m working on a mod that will block account creation requests based on a variety of factors. It’s called JerkBlocker, and it will be available in August!

Reversing item order in the Zen Cart Shopping Cart

By default, items in your shopping cart in Zen Cart are shown in the order they are added to the cart. The first one is at the top, the second is below that, and so forth.

Generally this is desirable, but if your business involves taking telephone orders, especially of long lists of products, it’s easy to reverse it to show the last item added first instead. This can be useful for confirming as you add item by item.

Modify the file

includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php

Look for

foreach ($productArray as $product) {

and change this to

$productArray = array_reverse($productArray);
foreach ($productArray as $product) {

And you’re done! Items will now appear in the opposite order – last added, first shown.