TAMURA Toshihiko
tamur****@bitsc*****
2003年 6月 6日 (金) 08:58:48 JST
田村啓さん、こんにちは。 田村@ビットスコープです。 > ショッピングカートにて、購入数量に「1.5」というような自然数以外を入力 > したところ購入できてしまうようです。金額もきっちりと1.5倍に計算されてい > ます。2.2の時は、四捨五入されて整数で計算されていたと記憶しており、MS1J > から小数でも可となっているようです。 > ちなみに「0.5」「-2.5」というように1以下を入力するとカートは空になりま > す。 ああ、そうなんですね。 気が付きませんでした。 > 自然数以外が入力された場合、エラーとするか小数点以下切り捨て/四捨五入 > などの処理を行った方が良いと思います。 catalog/includes/classes/shopping_cart.php の add_cart() を 次のように変更すれば、 ------------------------------------------------------------ function add_cart(...) { global $new_products_id_in_cart, $customer_id; // check quantity (追加) $qty = (int)round((double)$qty); $qty = max($qty,1); : } ------------------------------------------------------------ 小数値 => 四捨五入 1未満の値 => 1に置き換え となるので、妥当じゃないでしょうか。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamur****@bitsc***** http://www.bitscope.co.jp/