Ignore:
Timestamp:
2009/06/15 17:45:24 (15 years ago)
Author:
Seasoft
Message:

r17443 の不具合を修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/helper/SC_Helper_DB.php

    r18100 r18109  
    334334                // (商品規格単位でなく)商品単位での評価のための準備 
    335335                $product_id = $arrCart['id'][0]; 
    336                 $arrQuantityInfo_by_product[$product_id]['product_id'] = $product_id; 
    337336                $arrQuantityInfo_by_product[$product_id]['quantity'] += $quantity; 
    338337                $arrQuantityInfo_by_product[$product_id]['sale_unlimited'] = $arrData['sale_unlimited']; 
    339338                $arrQuantityInfo_by_product[$product_id]['sale_limit'] = $arrData['sale_limit']; 
     339                $arrQuantityInfo_by_product[$product_id]['name'] = $arrData['name']; 
    340340                 
    341341                $objPage->arrProductsClass[$cnt] = $arrData; 
     
    390390        } 
    391391         
    392         foreach ($arrQuantityInfo_by_product as $QuantityInfo) { 
    393             if($QuantityInfo['sale_unlimited'] != '1' && $QuantityInfo['sale_limit'] != '' && $QuantityInfo['sale_limit'] < $QuantityInfo['quantity']) { 
    394                 // カート内商品数を制限に合わせる 
    395                 $objPage->tpl_error = "※「" . $arrData['name'] . "」は個数「{$QuantityInfo['sale_limit']}」以下に販売制限しております。一度にこれ以上の購入はできません。\n"; 
     392        foreach ($arrQuantityInfo_by_product as $product_id => $quantityInfo) { 
     393            if ($quantityInfo['sale_unlimited'] != '1' && $quantityInfo['sale_limit'] != '' && $quantityInfo['sale_limit'] < $quantityInfo['quantity']) { 
     394                $objPage->tpl_error = "※「{$quantityInfo['name']}」は個数「{$quantityInfo['sale_limit']}」以下に販売制限しております。一度にこれ以上の購入はできません。\n"; 
     395                // 販売制限に引っかかった商品をマークする 
    396396                foreach (array_keys($objPage->arrProductsClass) as $key) { 
    397397                    $ProductsClass =& $objPage->arrProductsClass[$key]; 
    398                     $ProductsClass['error'] = true; 
     398                    if ($ProductsClass['product_id'] == $product_id) { 
     399                        $ProductsClass['error'] = true; 
     400                    } 
    399401                } 
    400402            } 
Note: See TracChangeset for help on using the changeset viewer.