Tweak product attributes template to hide table if nothing is shown Closes #4927

This commit is contained in:
Mike Jolley 2014-02-25 15:33:02 +00:00 committed by Coen Jacobs
parent 6c337f122c
commit eea2e21765
1 changed files with 21 additions and 18 deletions

View File

@ -6,48 +6,46 @@
* *
* @author WooThemes * @author WooThemes
* @package WooCommerce/Templates * @package WooCommerce/Templates
* @version 2.0.8 * @version 2.1.3
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
global $woocommerce; }
$has_row = false;
$alt = 1; $alt = 1;
$attributes = $product->get_attributes(); $attributes = $product->get_attributes();
if ( empty( $attributes ) && ( ! $product->enable_dimensions_display() || ( ! $product->has_dimensions() && ! $product->has_weight() ) ) ) return; ob_start();
?> ?>
<table class="shop_attributes"> <table class="shop_attributes">
<?php if ( $product->enable_dimensions_display() ) : ?> <?php if ( $product->enable_dimensions_display() ) : ?>
<?php if ( $product->has_weight() ) : ?> <?php if ( $product->has_weight() ) : $has_row = true; ?>
<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>"> <tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
<th><?php _e( 'Weight', 'woocommerce' ) ?></th> <th><?php _e( 'Weight', 'woocommerce' ) ?></th>
<td class="product_weight"><?php echo $product->get_weight() . ' ' . esc_attr( get_option( 'woocommerce_weight_unit' ) ); ?></td> <td class="product_weight"><?php echo $product->get_weight() . ' ' . esc_attr( get_option( 'woocommerce_weight_unit' ) ); ?></td>
</tr> </tr>
<?php endif; ?> <?php endif; ?>
<?php if ( $product->has_dimensions() ) : ?> <?php if ( $product->has_dimensions() ) : $has_row = true; ?>
<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>"> <tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
<th><?php _e( 'Dimensions', 'woocommerce' ) ?></th> <th><?php _e( 'Dimensions', 'woocommerce' ) ?></th>
<td class="product_dimensions"><?php echo $product->get_dimensions(); ?></td> <td class="product_dimensions"><?php echo $product->get_dimensions(); ?></td>
</tr> </tr>
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
<?php foreach ( $attributes as $attribute ) : <?php foreach ( $attributes as $attribute ) :
if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) ) {
if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) )
continue; continue;
} else {
$has_row = true;
}
?> ?>
<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>"> <tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
<th><?php echo wc_attribute_label( $attribute['name'] ); ?></th> <th><?php echo wc_attribute_label( $attribute['name'] ); ?></th>
<td><?php <td><?php
@ -65,7 +63,12 @@ if ( empty( $attributes ) && ( ! $product->enable_dimensions_display() || ( ! $p
} }
?></td> ?></td>
</tr> </tr>
<?php endforeach; ?> <?php endforeach; ?>
</table> </table>
<?php
if ( $has_row ) {
echo ob_get_clean();
} else {
ob_end_clean();
}