WooCommerce价格动态覆盖购物车

时间:2016-07-25 12:15:56

标签: wordpress woocommerce

让我解释一下,我已经在数据库中创建了一个带有列的表(bed_type,尺寸*厚度,价格)。默认情况下,图像选择尺寸和厚度如图所示现在用户可以选择任何床型,尺寸和厚度,所以根据该价格将改变我发送ajax请求数据库,如果条件匹配,那么我在这一段得到价格

 <p class='prices' id='demo' style='margin-left:22%;'></p>

现在我想通过购物车中的计算价格如何实现这一目标。我从上周开始尝试这项任务,但没有得到任何结果。请指导我

access view

床型的Ajax

 function price() 
   {
     var current_id=this.id;
     var dimension = document.getElementById(current_id).value; // dimension
     var thickness = document.getElementById("thickness").value;
      var res = dimension.concat('x'+thickness);
         jQuery.ajax({
            url: "/Mattressbox/price",
           data: {price: res},
           type: "POST",
           success:function(data){
           $("#result").html(data);
            },
           error:function (){}
              });  

                 }

price.php代码

 global $wpdb;
 if(isset($_POST['price']))
       {
         $price_value = $_POST["price"];
        $result = $wpdb->prepare("SELECT price FROM wp_single WHERE                size='".$price_value ."'",$id,null);
       $row = $wpdb->get_row($result);
       $price = $row->price;
      if($price > 0) 
           {

           echo '<script>';
           echo 'var name = ' . json_encode($price) . ';';
           echo 'document.getElementById("demo").innerHTML ="&#8360;&nbsp;"  + name;';
           echo '</script>'; 
          }
           else
         {
          //echo "failed";
         }

           }

在本段中我使用ajax获得动态价格

<p class='prices' id='demo' style='margin-left:22%;'></p>  

现在我试图通过这段代替这个自定义价格

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );

function add_custom_price( $cart_object ) {

 $custom_price = "<p class='prices' id='demo' style='margin-left:22%;'></p>"; // This will be your custom price  
  foreach ( $cart_object->cart_contents as $key => $value ) {
    $value['data']->price = $custom;
  }
}

只有静态价格会在购物车中出现,但这不起作用请提出建议......谢谢..

0 个答案:

没有答案