Did you miss the Zen Cart POODLE notification?

Because of a discovered vulnerability in SSLV3, several payment and shipping modules in Zen Cart needed to be changed recently.

Some people asked me how they could have gotten this notification earlier.  Happily, it’s quite simple.  Just click this link

http://www.zen-cart.com/subscription.php?do=addsubscription&f=2

to subscribe to the Zen Cart Releases forum.  You’ll get an email when a new post is added.

Posted in Zen Cart | Comments Off

MailChimp Zen Cart sidebox issue

If you are using my MailChimp Sidebox plugin for Zen Cart, and you installed it a while back, please take a look at something: the form created by the sidebox should say

<form action=”//something-something.list-manage.com…

NOT

<form action=”http://something-something.list-manage.com…

The latter can cause the lock icon to be slashed out, so an SSL page will appear to not be encrypted.

If the MailChimp sidebox is shown on your login page, you can easily test this by going to the login page and checking the lock icon for your site (assuming you have an SSL certificate).

Posted in That Software Guy, Zen Cart | Comments Off

Showing off your Zen Cart Newsletter Discount in the MailChimp Sidebox

If you are using Newsletter Discount, and you want to show off the discount in the sidebox, add this block to

includes/templates/template_default/sideboxes/tpl_mailchimp_sidebox.php

right after the “</form>:

  if (MODULE_ORDER_TOTAL_NEWSLETTER_DISCOUNT_AMOUNT > 0) {
    $content .= "Newsletter subscribers enjoy a " . MODULE_ORDER_TOTAL_NEWSLETTER_DISCOUNT_AMOUNT ."% discount!";
  }

Your sidebox will now look like this:
MailChimp signup with newslettere discount
Since Discount Preview does not support Newsletter Discount, this is a good compromise.

Posted in That Software Guy, Zen Cart | Comments Off

Zen Cart Optional Payment Method

Getting payments by Paypal is incredibly convenient for me – it means I can roll up dozens of small transactions into a single checkbook update showing the transfer from Paypal.  But some people don’t like Paypal, for a variety of reasons.  So I want to have a payment mechanism that will work for them.

Well, as I said in Monday’s blog post, I have a LOT of payment methods, but for the folks who just want to use a credit card, I use BrainTree.  Here’s the BrainTree Zen Cart integration, which works well except for one small bug in version 4 that I documented a fix for in this Zen Cart forum post.

But I don’t show two credit card payment methods at checkout, and I want to encourage people to use Paypal.  So what I did was create the Optional Payment Method module for Zen Cart, which allows you to enable only specific customers to see the optional payment module, and hide it from the rest.

Hopefully this contribution will help other folks too.

Posted in Payment Gateways, That Software Guy, Zen Cart | Comments Off

Zen Cart Free Gift Chooser 1.3a Released

The fix announced in this blog post about ZenCart Free Gift Chooser has been bundled into a new release; Free Gift Chooser 1.3a is now available.  Users who are not using Payment modules with their own application_top implementations (such as Paychex) do not need this upgrade.

Posted in That Software Guy, Zen Cart | Comments Off

Zen Cart / Paypal users: you MUST install POODLE fixes today!

Paypal is disabling SSLV3 tomorrow, so today is your last day to implement this change without risking disruption to your business.

Here is the post from the Zen Cart Forum: POODLE and payment security.

Posted in Payment Gateways, That Software Guy, Zen Cart | Comments Off

New Payment Methods for That Software Guy!

Most people pay me by Paypal, either directly or via my store.
But some people don’t like Paypal – for a variety of reasons. For a while, the payment alternative I offered was Google Checkout, but Google killed that product off. So now I offer three non-Paypal options for people to make payments or donations:

I also offer, for select customers, credit card processing via BrainTree.  More on this topic tomorrow!

Challenge for Zen Cart store owners: are you making it as easy as possible for your customers to pay you?

Posted in Payment Gateways, That Software Guy, Zen Cart | Comments Off

Zen Cart Attribute Required for Text not working?

If you have added a text attribute to a product in  your Zen Cart installation (any version), and clicked the “Attribute Required for Text” = Yes radio button at the bottom of the screen, but noticed that it can be added to the cart without setting the text attribute, this post is for you.

There is a bug in a number of older Zen Cart contributions that leads to configuration group 0 getting deleted.  As it turns out, this is where some critical fields for Attribute Required for Text reside.   You can see if you have this problem by going to

http://YOUR-SITE/your-admin-page/configuration.php?gID=0

You should see three entries.  If you see zero entries, you can add them back using this SQL:

INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', 0, NULL, now(), now(), NULL, NULL);
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', 0, NULL, now(), now(), NULL, NULL);
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', 0, NULL, now(), now(), NULL, NULL);

Once this is done, your attribute checking should work.

A list of some of the contributions which had this issue (as well as the background on this issue) is provided in this Zen Cart forum post.

Posted in Zen Cart | Comments Off

Finding Zen Cart products with no default attribute set

A client called me and told me that someone had added a $0 product to their order!  When I looked at the product, I noticed that it was priced by attributes, but didn’t have a default setting for the attribute which priced it.  So the attributes, which were radio buttons, looked like this:

no_set

See how none of the radio buttons are selected?

Now this is easy enough to fix – go to Zen Admin, to Catalog->Attributes Controller, select the product, and then edit the attribute that you want to be the default, and set the  Default Attribute
to be Marked Selected:
radio button at the bottom of the page in the Attribute Flags.  But how do we determine how many products have this problem?

There’s a SQL query you can use in PHPMyAdmin to figure this out:

SELECT p.products_id FROM `zen_products_attributes` p where 1=1 and NOT EXISTS (SELECT products_id from zen_products_attributes p2 where p2.products_id = p.products_id and p2.attributes_default = 1) group by products_id;
Posted in That Software Guy, Zen Cart | Comments Off

Interesting application for Zen Cart Better Together Admin and Checkbox Cross Sell

A client wanted to use Better Together Admin for Zen Cart to configure cross sells, and wanted to use Checkbox Cross Sell for Zen Cart to display them.  Easy enough – but here’s the twist: he wanted any cross sell to be applied to all products (rather than configuring each product with the same cross sells).

This kind of thing can be done with just a little custom programming.  On my Advanced Discount Configuration for Zen Cart page, I show how to do it (see example 11).

Posted in Uncategorized | Comments Off