WooCommerce: transforme seu site de vendas para cotação



 

Precisa adaptar sua loja para receber orçamentos em massa ao invés do carrinho do compras nativo do WooCommerce?
Uma das soluções para quem não possui conhecimentos em programação, é o plugin YITH WooCommerce Request A Quote (desenvolvido pela YITH, que possui vários ótimos plugins para Woocommerce), mas o mesmo, em versão free é simples, porém funcional.

Se precisa de algo mais especifico e sem limitações, vamos mostrar a seguir como alterar os arquivos do WooCommerce para receber a lista de orçamento em seu e-mail.

Functions WordPress:
<?php
function custom_woocommerce_is_purchasable( $purchasable, $product ){
if( $product->get_price() == 0 || $product->get_price() == '')
$purchasable = true;
return $purchasable;
}
add_filter(  
    'woocommerce_is_purchasable'
    'custom_woocommerce_is_purchasable', 10, 2 );
?>
Esse snippet vai permitir que produtos com preço igual a 0 possam ser adicionado normalmente ao carriho.

WooCommerce Cart:
<?php
/**
* Cart Page
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.3.8
*/

if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}

wc_print_notices();

do_action( 'woocommerce_before_cart' ); ?>

<form action="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" method="post">

<?php do_action( 'woocommerce_before_cart_table' ); ?>

<table class="shop_table cart" cellspacing="0">
<thead>
<tr>
<th class="product-remove">&nbsp;</th>
<th class="product-thumbnail">&nbsp;</th>
<th class="product-name"><?php _e( 'Product', 'woocommerce' ); ?></th>
<!--<th class="product-price"><?php _e( 'Price', 'woocommerce' ); ?></th>-->
<th class="product-quantity"><?php _e( 'Quantity', 'woocommerce' ); ?></th>
<!--<th class="product-subtotal"><?php _e( 'Total', 'woocommerce' ); ?></th>-->
</tr>
</thead>
<tbody>
<?php do_action( 'woocommerce_before_cart_contents' ); ?>

<?php
$tfm="<table cellspacing='0' style='text-align: left;width: 300px;' border=1><thead><tr><th>Produto</th><th>Referencia</th><th>Quantidade</th></tr></thead>";
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
?>
<tr class="<?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>">

<td class="product-remove">
<?php
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf( '<a href="%s" class="remove" title="%s">&times;</a>', esc_url( WC()->cart->get_remove_url( $cart_item_key ) ), __( 'Remove this item', 'woocommerce' ) ), $cart_item_key );
?>
</td>

<td class="product-thumbnail">
<?php
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );

if ( ! $_product->is_visible() )
echo $thumbnail;
else
printf( '<a href="%s">%s</a>', $_product->get_permalink( $cart_item ), $thumbnail );
?>
</td>
<?php $tfm .= "<tbody><tr><td>";?>
<td class="product-name">
<?php
if ( ! $_product->is_visible() ){
echo apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key ) . '&nbsp;';
$tfm .= apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key ) . '&nbsp;';
}else{
echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s </a>', $_product->get_permalink( $cart_item ), $_product->get_title() ), $cart_item, $cart_item_key );
$tfm .= apply_filters( 'woocommerce_cart_item_name', sprintf( "<a href='%s'>%s </a>", $_product->get_permalink( $cart_item ), $_product->get_title() ), $cart_item, $cart_item_key );
}
// Meta data
echo WC()->cart->get_item_data( $cart_item );
// Backorder notification
if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) )
echo '<p class="backorder_notification">' . __( 'Available on backorder', 'woocommerce' ) . '</p>';
?>
</td>
<?php $tfm .= "</td>";?>

<?php $tfm .= "
<td>
<p>REF: <strong>". $_product->sku ."</strong></p>
</td>"
;?>

<?php $tfm .= "<td>";?>
<td class="product-quantity">
<?php
if ( $_product->is_sold_individually() ) {
$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
} else {
$product_quantity = woocommerce_quantity_input( array(
'input_name' => "cart[{$cart_item_key}][qty]",
'input_value' => $cart_item['quantity'],
'max_value' => $_product->backorders_allowed() ? '' : $_product->get_stock_quantity(),
'min_value' => '0'
), $_product, false );
}

echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key );
$tfm .= $cart_item['quantity'];
?>
</td>
<?php $tfm .= "</td>";?>

<!--<td class="product-subtotal">
<?php
echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key );
?>
</td>-->
</tr>
<?php
$tfm .= "</tr></tbody>";
}
}
$tfm .= "</table>";

do_action( 'woocommerce_cart_contents' );
?>
<tr>
<td colspan="6" class="actions">

<?php if ( WC()->cart->coupons_enabled() ) { ?>
<div class="coupon">

<label for="coupon_code"><?php _e( 'Coupon', 'woocommerce' ); ?>:</label> <input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php _e( 'Coupon code', 'woocommerce' ); ?>" /> <input type="submit" class="button" name="apply_coupon" value="<?php _e( 'Apply Coupon', 'woocommerce' ); ?>" />

<?php do_action( 'woocommerce_cart_coupon' ); ?>

</div>
<?php } ?>

<input type="submit" class="button" name="update_cart" value="Atualizar Carrinho" />

<?php do_action( 'woocommerce_cart_actions' ); ?>

<?php wp_nonce_field( 'woocommerce-cart' ); ?>
</td>
</tr>

<?php do_action( 'woocommerce_after_cart_contents' ); ?>
</tbody>
</table>

<?php do_action( 'woocommerce_after_cart_table' ); ?>

</form>

<!--<div class="cart-collaterals">

<?php do_action( 'woocommerce_cart_collaterals' ); ?>

</div>-->

Formulario de Envio:
<div id="form-cart">
<h2>Dados do Solicitante</h2>
<h3>Preencha os dados abaixo para finalizar o seu orçamento.</h3>
<p>Antes de finalizar seu orçamento, verifique atentamente se seus dados estão corretos.<br />
O campos marcados com (*) são de preenchimento obrigatório.</p>

<form action="<?php echo get_template_directory_uri(); ?>/sendmail-pass.php" method="post">
<div class="row">
<div class="span12">
<input type="text" name="nome" required class="form-control cf" placeholder="Nome *">
</div>
</div>

<div class="row">
<div class="span6">
<input type="email" name="email" id="email" required class="form-control cf" placeholder="E-mail*">
</div>
<div class="span3">
<input type="text" name="fone" id="fone" required class="form-control cf" placeholder="Telefone*">
</div>
<div class="span3">
<input type="text" name="celfone" id="celfone" class="form-control cf" placeholder="Celular">
</div>
</div>

<div class="row">
<div class="span6">
<input type="text" name="cidade" required placeholder="Cidade*" class="form-control cf">
</div>
<div class="span6">
<select name="estado" id="estado" class="form-control cf">
<option>Selecione seu Estado...</option>
<option value="AC">AC</option>
<option value="AL">AL</option>
<option value="AP">AP</option>
<option value="AM">AM</option>
<option value="BA">BA</option>
<option value="CE">CE</option>
<option value="DF">DF</option>
<option value="ES">ES</option>
<option value="GO">GO</option>
<option value="MA">MA</option>
<option value="MT">MT</option>
<option value="MS">MS</option>
<option value="MG">MG</option>
<option value="PA">PA</option>
<option value="PB">PB</option>
<option value="PR">PR</option>
<option value="PE">PE</option>
<option value="PI">PI</option>
<option value="RJ">RJ</option>
<option value="RN">RN</option>
<option value="RS">RS</option>
<option value="RO">RO</option>
<option value="RR">RR</option>
<option value="SC">SC</option>
<option value="SP">SP</option>
<option value="SE">SE</option>
<option value="TO">TO</option>
</select>
</div>
</div>

<div class="row">
<div class="span6">
<input type="text" class="form-control cf" name="empresa" placeholder="Empresa*">
</div>
<div class="span3">
<input type="text" name="cep" id="cep" required class="form-control cf" placeholder="CEP*">
</div>
<div class="span3">
<input type="date" name="data" placeholder="Data" class="form-control cf">
</div>
</div>

<input type="hidden" name="produtos" value="<?php echo $tfm; ?>">
<div class="col100"><input type="submit" value="Enviar" class="button b-orca"></div>
</form>

</div>

<?php do_action( 'woocommerce_after_cart' ); ?>

Comentários

Anúncios