Index: uc_node_checkout.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/uc_node_checkout/uc_node_checkout.module,v retrieving revision 1.8 diff -u -p -r1.8 uc_node_checkout.module --- uc_node_checkout.module 26 Jan 2009 20:14:39 -0000 1.8 +++ uc_node_checkout.module 1 Feb 2011 00:37:21 -0000 @@ -1,6 +1,4 @@ checkout_node = $node; } break; + case 'can_ship': + // Determine if there is a shippable component to this node checkout product + // We will look at the default $item settings to determine. + if ($uc_node_checkout_product = node_load($item->data['nid'])) { + // If the item was set to be 'shippable' on the node edit form of the uc_node_checkout product, + // not the associated node to purchase, then we'll send this off to ubercart as a 'shippable' item + // and Ubercart will use this is a trigger to display the shipping pane. Else, if set to unshippable + // Ubercart will not trigger the shipping pane, provided there are no other shippable products + // in the cart with the uc_node_checkout items. + if ($uc_node_checkout_product->shippable == 0) { + // If this, then the product was set to 'not shippable' + return FALSE; + } + else { + return TRUE; + } + } + else { + // $item->data['nid'] was not found or I was unable to node_load $item->data['nid']'s nid. So show an error: + drupal_set_message(t('Unable to determine the product class associated with item ' . $item->data['title'] . ' so the shipping pane is included on this Ubercart display'), 'error'); + } + break; } } @@ -713,9 +733,3 @@ function uc_node_checkout_load_order_pro return $products[$order_product_id]; } - -// Allow the customer to select which associated product to use for the node. -function uc_node_checkout_product_selection_form() { - -} -