2013-05-28 79 views
0

我一直在定製WP Ecommence插件,以便爲特定類別的每兩個項目打折。我知道類別列在$wpsc_cart陣列中,但這不起作用,我看不出爲什麼。理想情況下,我希望廢棄這個更簡單的東西,這是針對下面的第2部分的問題。wp電子商務折扣 - 如果產品在類別

我的代碼 -

foreach($wpsc_cart->cart_items->wpsc_cart_item as $cartItemDW){ 
     $ii = 1; 
     if(in_array('product-type-1',$cartItemDW->category_list) || in_array('product-type-2',$cartItemDW->category_list)){ 
      $ii++; 
     } 
    } 
    //Pull up end count 
    $prodCount = $ii; 
    //Round off to even number 
    if($prodCount % 2){ 
     $prodCount = $prodCount - 1;  
    } 
    // Discount for every second one 
    $prodCount = $prodCount/2; 
    // Discount of £70 per second item 
    $prodCount = $prodCount * 70.00; 
    // Pass discount to Paypal Array 
    if($discount > 0){ 
     $paypal_vars += array(
      'discount_amount' => $discount 
     ); 
    } 

PART 2 理想情況下,我想了解如何根據表中的_wpsc_cart_contents項目ID來獲取類別名稱(一個或多個),然後說,如果它是在某些類別中,相應的折扣,似乎比可能完全關閉的foreach更容易。有人可以解釋如何根據產品ID獲取產品類別嗎?

在此先感謝。丹

回答

0

找到了答案1在foreach項目 -

$prodID = $wpdb->get_row('SELECT * FROM wp_wpsc_item_category_assoc WHERE product_id = "'.$item['prodid'].'"'); 
      if($prodID->category_id == 10 || $prodID->category_id == 5 || $prodID->category_id == 23 || $prodID->category_id == 24 || $prodID->category_id == 25 || $prodID->category_id == 26){ 
       $addQuantity = $item['quantity']; 
       $i = $i + $addQuantity; 
       //$i++; 

      } 

再後來,2-的foreach後本期特價貨品

$prodCount = $i; 
$discount = 70.00 * ($prodCount/2); 

$data['discount_amount_1'] = number_format(sprintf("%01.2f", $discount),$decimal_places,'.','');