Proper way to disable checkout elements/modules when not needed?

Hi all -

I have a store that has a mix of shippable and non-shippable products. When a customer orders all non-shippable products, I'd like to hide the shipping method and the shipping fields.

I tried doing so by using hook_form_alter and unsetting the appropriate fields, but doing so yields an AJAX error when selecting different payment methods (e.g., Credit Card, Pay by Check). Doesn't seem like this is the proper way to do things...

I suppose this should all be done using Rules, but am unsure what to react on and so on ... anyone have any thoughts?

Many thanks,


Posted: Oct 7, 2011


negon on November 22, 2011

Hi, did you find out how to do this?
Very interested in any advice on how to disable the shipping page, based on fields in a product.