diff --git a/fulcrm_shoppingcart.module b/fulcrm_shoppingcart.module index a1355f8..4622efc 100644 --- a/fulcrm_shoppingcart.module +++ b/fulcrm_shoppingcart.module @@ -63,6 +63,15 @@ function fulcrm_shoppingcart_theme( $existing, $type, $theme, $path ) { 'fulcrm_shoppingcart_cart_item' => array( 'variables' => array( 'shoppingitem' => null ), // data returned from fulcrm API 'template' => 'fulcrm_shoppingcart_cart_item', ), + 'fulcrm_shoppingcart_transaction_checkout' => array( 'variables' => array( 'transaction' => null ), // data returned from fulcrm API + 'template' => 'fulcrm_shoppingcart_transaction_checkout', + ), + 'fulcrm_shoppingcart_transaction_items' => array( 'variables' => array( 'items' => null ), // data returned from fulcrm API + 'template' => 'fulcrm_shoppingcart_transaction_items', + ), + 'fulcrm_shoppingcart_transaction_item' => array( 'variables' => array( 'item' => null ), // data returned from fulcrm API + 'template' => 'fulcrm_shoppingcart_transaction_item', + ), ); } @@ -376,5 +385,18 @@ function fulcrm_shoppingcart_cart() { function fulcrm_shoppingcart_checkout() { $cart = fulcrm_shoppingcart_get_session_cart( false ); - return print_r( $cart, 1 ); + if ( $cart && array_key_exists( 'url', $cart ) ) { + $transaction_data = fulcrm_apiv2_POST( $cart[ 'url' ] . 'transaction/', array(), $query = array( 'expand' => implode( ',', array( 'd', + 'lineitems', + 'lineitems.d', + 'lineitems.content_object', + // XXX 'lineitems.content_object.d', + 'paymentitems', + 'paymentitems.d', + ) ) ) ); + if ( $transaction_data[ 'success' ] ) + return theme( 'fulcrm_shoppingcart_transaction_checkout', array( 'transaction' => $transaction_data[ 'data' ] ) ); + return 'problem 2'; + } + return 'problem 1'; } diff --git a/fulcrm_shoppingcart_transaction_checkout.tpl.php b/fulcrm_shoppingcart_transaction_checkout.tpl.php new file mode 100644 index 0000000..7f374af --- /dev/null +++ b/fulcrm_shoppingcart_transaction_checkout.tpl.php @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + $transaction[ 'lineitems' ] ) ); ?> + + + + + + + + + + + + + + +
Your order
ItemPriceQuantityTotal
+ Total + + +
 
diff --git a/fulcrm_shoppingcart_transaction_item.tpl.php b/fulcrm_shoppingcart_transaction_item.tpl.php new file mode 100644 index 0000000..e25038c --- /dev/null +++ b/fulcrm_shoppingcart_transaction_item.tpl.php @@ -0,0 +1,6 @@ + + + + + + diff --git a/fulcrm_shoppingcart_transaction_items.tpl.php b/fulcrm_shoppingcart_transaction_items.tpl.php new file mode 100644 index 0000000..c793b6f --- /dev/null +++ b/fulcrm_shoppingcart_transaction_items.tpl.php @@ -0,0 +1,3 @@ + + $item ) ); ?> +