2011-12-09 20:16:34 +00:00
< ? php
/**
2012-08-14 18:05:45 +00:00
* Variable product add to cart
*
* @ author WooThemes
* @ package WooCommerce / Templates
2013-03-07 19:34:29 +00:00
* @ version 2.0 . 3
2011-12-09 20:16:34 +00:00
*/
2012-08-14 18:05:45 +00:00
2012-10-15 10:57:58 +00:00
if ( ! defined ( 'ABSPATH' ) ) exit ; // Exit if accessed directly
2012-02-06 18:14:46 +00:00
global $woocommerce , $product , $post ;
2011-12-09 20:16:34 +00:00
?>
< ? php do_action ( 'woocommerce_before_add_to_cart_form' ); ?>
2013-06-14 11:48:41 +00:00
< form class = " variations_form cart " method = " post " enctype = 'multipart/form-data' data - product_id = " <?php echo $post->ID ; ?> " data - product_variations = " <?php echo esc_attr( json_encode( $available_variations ) ) ?> " >
2011-12-09 20:16:34 +00:00
< table class = " variations " cellspacing = " 0 " >
< tbody >
2012-06-10 17:15:02 +00:00
< ? php $loop = 0 ; foreach ( $attributes as $name => $options ) : $loop ++ ; ?>
2012-02-27 13:14:33 +00:00
< tr >
2013-09-12 13:41:02 +00:00
< td class = " label " >< label for = " <?php echo sanitize_title( $name ); ?> " >< ? php echo wc_attribute_label ( $name ); ?> </label></td>
2012-07-11 22:19:29 +00:00
< td class = " value " >< select id = " <?php echo esc_attr( sanitize_title( $name ) ); ?> " name = " attribute_<?php echo sanitize_title( $name ); ?> " >
2012-10-09 14:57:02 +00:00
< option value = " " >< ? php echo __ ( 'Choose an option' , 'woocommerce' ) ?> …</option>
2012-08-14 18:05:45 +00:00
< ? php
2012-06-10 17:15:02 +00:00
if ( is_array ( $options ) ) {
2012-08-14 18:05:45 +00:00
2013-09-23 14:47:47 +00:00
if ( isset ( $_REQUEST [ 'attribute_' . sanitize_title ( $name ) ] ) ) {
$selected_value = $_REQUEST [ 'attribute_' . sanitize_title ( $name ) ];
} elseif ( isset ( $selected_attributes [ sanitize_title ( $name ) ] ) ) {
$selected_value = $selected_attributes [ sanitize_title ( $name ) ];
} else {
$selected_value = '' ;
}
2012-06-10 09:15:23 +00:00
2012-02-27 13:14:33 +00:00
// Get terms if this is a taxonomy - ordered
2013-04-16 14:39:07 +00:00
if ( taxonomy_exists ( $name ) ) {
2012-11-27 16:22:47 +00:00
2013-09-12 13:41:02 +00:00
$orderby = wc_attribute_orderby ( $name );
2012-11-27 16:22:47 +00:00
2012-10-09 14:57:02 +00:00
switch ( $orderby ) {
case 'name' :
2013-01-15 12:10:03 +00:00
$args = array ( 'orderby' => 'name' , 'hide_empty' => false , 'menu_order' => false );
2012-10-09 14:57:02 +00:00
break ;
case 'id' :
$args = array ( 'orderby' => 'id' , 'order' => 'ASC' , 'menu_order' => false );
break ;
case 'menu_order' :
$args = array ( 'menu_order' => 'ASC' );
break ;
}
2012-06-10 17:15:02 +00:00
2013-04-16 14:39:07 +00:00
$terms = get_terms ( $name , $args );
2012-08-14 18:05:45 +00:00
2012-06-10 17:15:02 +00:00
foreach ( $terms as $term ) {
2013-03-07 19:34:29 +00:00
if ( ! in_array ( $term -> slug , $options ) )
continue ;
2013-09-23 14:47:47 +00:00
echo '<option value="' . esc_attr ( $term -> slug ) . '" ' . selected ( sanitize_title ( $selected_value ), sanitize_title ( $term -> slug ), false ) . '>' . apply_filters ( 'woocommerce_variation_option_name' , $term -> name ) . '</option>' ;
2012-06-10 17:15:02 +00:00
}
} else {
2013-03-07 19:34:29 +00:00
foreach ( $options as $option ) {
echo '<option value="' . esc_attr ( sanitize_title ( $option ) ) . '" ' . selected ( sanitize_title ( $selected_value ), sanitize_title ( $option ), false ) . '>' . esc_html ( apply_filters ( 'woocommerce_variation_option_name' , $option ) ) . '</option>' ;
}
2012-06-10 17:15:02 +00:00
}
}
?>
2012-02-27 13:14:33 +00:00
</ select > < ? php
2012-06-10 17:15:02 +00:00
if ( sizeof ( $attributes ) == $loop )
2012-10-09 14:57:02 +00:00
echo '<a class="reset_variations" href="#reset">' . __ ( 'Clear selection' , 'woocommerce' ) . '</a>' ;
2012-02-27 13:14:33 +00:00
?> </td>
</ tr >
< ? php endforeach ; ?>
2011-12-09 20:16:34 +00:00
</ tbody >
</ table >
< ? php do_action ( 'woocommerce_before_add_to_cart_button' ); ?>
< div class = " single_variation_wrap " style = " display:none; " >
< div class = " single_variation " ></ div >
< div class = " variations_button " >
< input type = " hidden " name = " variation_id " value = " " />
< ? php woocommerce_quantity_input (); ?>
2012-10-16 09:45:33 +00:00
< button type = " submit " class = " single_add_to_cart_button button alt " >< ? php echo apply_filters ( 'single_add_to_cart_text' , __ ( 'Add to cart' , 'woocommerce' ), $product -> product_type ); ?> </button>
2011-12-09 20:16:34 +00:00
</ div >
</ div >
2013-06-14 11:48:41 +00:00
< div >
< input type = " hidden " name = " add-to-cart " value = " <?php echo $product->id ; ?> " />
< input type = " hidden " name = " product_id " value = " <?php echo esc_attr( $post->ID ); ?> " />
</ div >
2011-12-09 20:16:34 +00:00
< ? php do_action ( 'woocommerce_after_add_to_cart_button' ); ?>
</ form >
< ? php do_action ( 'woocommerce_after_add_to_cart_form' ); ?>