Use jquery to manipulate/update price on woocomerce product page

Asked

Viewed 21 times

0

Hello, we have a Woocommerce we use as a product quotation system, and I am mounting a price list inside the product page, and I would like that if the variation of products has different prices the table is updated, however what I have now it only presents the fixed value of when loaded the page. (see what I have so far https://teste.brindes.ltda/produto/teste/)

    $custo_produto = $product->get_price(); //preço do produto

    //custo de gravação
    $custo_grv = $product->get_attribute( 'pa_custo_grv' ); //custo da gravação
    
    $min_grv = $product->get_attribute( 'pa_min_grv' );//minima configurada no sistema de gravação
    $tipo_grv = $product->get_attribute( 'pa_tipo_grv' );//minima configurada no sistema de gravação
    

    //quantidades + quantidade de gravacao
    $minimum_allowed_quantity = get_post_meta($post->ID, 'minimum_allowed_quantity', true); //minimo definida na pagian do produto
    $grv_qtd = $minimum_allowed_quantity > $min_grv ? $min_grv:$minimum_allowed_quantity;
    $regra_faturamento = 600; //valor minimo para aplicar od descontos
    

    //porcentagem
    $lucro = 20;
    $imposto = 10;
    $bonus = 3;
    $bv = 6;
    $total_porc_venda = 100 - ($lucro + $imposto + $bonus + $bv) ;
    $total_porc = 100 - ($lucro + $imposto + $bonus + $bv) ;

    
    $avista_desconto_master = '-10% à vista';
    $avista_desconto = '-5% à vista';
    $aviso_recomendado = 'RECOMENDADO';
    
    
    //calculo para custo
    $extra = $product->get_attribute( 'pa_custo_extra' ); // tipo custo de cliche
    $manuseio = 40 + $extra; 
    $venda_produto = ($custo_produto / $total_porc) * 100;
    $venda_grv = ((($custo_grv)/90) * 100) ;//
    
    
    //data de updated
    $update_date =  $product->get_date_modified()->date('j \d\e F \d\e Y, g:i a');



/***** inicio 1000 *******/
    
$compara_quatidade_1000 = (1000 < $min_grv ? 1000:$min_grv); //definir qual numero o custo da gravação vai ser calculado
    $venda_grv_custo_total_1000= ($venda_grv/$compara_quatidade_1000)* 1000;
    $des1000 = 8;    ///taxa de desconto//////////////////////////////////////////////
    $venda_grv_custo_unitario_1000 =  ($venda_grv_custo_total_1000 / 1000)/(100 + ($des1000*2))*100;
    $venda_preco_final_1000 = ((($venda_produto * 1000) + ($venda_grv_custo_unitario_1000 * 1000) + $manuseio) / 1000)/(100 + $des1000)*100;    
    

if ($min_grv <= 1000 AND ($venda_preco_final_1000 * 1000) > $regra_faturamento ){   

echo '<div id="list_base_green2"><div id="seta_green2">'. $avista_desconto_master .'</div><div id="qtdy">'. 1000 .'</div><div id="qtdy_text">/unid. por:</div> <div id="qtdy_valor">'.wc_price($venda_preco_final_1000).'/unid.</div><div id="qtdy_text">+batida extra: </div><div id="qtdy_valor">+'.wc_price($venda_grv_custo_unitario_1000). '/unid.</div></div>';   
    
    
        }else{  
                          
if ($min_grv == 1000){  

    echo '<div id="list_base_green"><div id="seta_aviso">'. $aviso_recomendado .'</div><div id="qtdy">'. 1000 .'</div><div id="qtdy_text">/unid. por:</div> <div id="qtdy_valor">'.wc_price($venda_preco_final_1000).'/unid.</div><div id="qtdy_text">+batida extra: </div><div id="qtdy_valor">+'.wc_price($venda_grv_custo_unitario_1000). '/unid.</div></div>';              
    
        }else{  

if ($minimum_allowed_quantity <= 1000){ 

if (($venda_preco_final_1000 * 1000) > $regra_faturamento) {
        
    echo '<div id="list_base_800"><div id="seta_800">'. $avista_desconto .'</div><div id="qtdy">'. 1000 .'</div><div id="qtdy_text">/unid. por:</div> <div id="qtdy_valor">'.wc_price($venda_preco_final_1000).'/unid.</div><div id="qtdy_text">|   cor/batida extra: </div><div id="qtdy_valor">+'.wc_price($venda_grv_custo_unitario_1000). '/unid.</div></div>';
    }else{
echo '<div id="list_base"><div id="qtdy">'. 1000 .'</div><div id="qtdy_text">/unid. por:</div> <div id="qtdy_valor">'.wc_price($venda_preco_final_1000).'/unid.</div><div id="qtdy_text">|   cor/batida extra: </div><div id="qtdy_valor">+'.wc_price($venda_grv_custo_unitario_1000). '/unid.</div></div>';    
}
}
}
}

/***** fim 1000 *******/     ```
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.