So, I have a zen cart store set up selling tickets for a flight school. The school can and does ship the tickets via USPS, and has added an option to allow customers to download the ticket directly instead.

I have followed the adding download attributes to products instructions, which I found pretty straightforward. My requirement is this: I want to keep an option to ship rather than download, and expect customers to be charged for shipping in this case, but not to be charged for shipping nor have to enter a shipping address if they choose the download option.

So, I created a download option with two values: 'Download PDF' and 'Please Ship' - only the 'Download PDF' value has an associated download filename.

As long as this download is the only attribute option on the product, it behaves as expected. If a user chooses the download, then checkout skips the shipping page, but it shows this page if the shipping option is selected. So far, so good.

I run into a problem, however, if the product has another attribute. The other option I want to offer has nothing to do with shipping or download - just a separate option to upgrade the airplane for an extra charge. Where I try to add this option name and yes/no upgrade option values alongside the download option set, now the user is shown the shipping screen and charged for shipping whether they choose to download or not.

I sort of understand, that since the upgrade option does not have a download file, zen cart thinks shipment may be necessary. Users typically check out with just one ticket in their cart - is there any way to modify the download file test query so that it looks for ANY attribute to have a download file, rather than ALL?

This, or any help with this issue will be greatly appreciated. Thanks!