예제 #1
0
 /**
  * カートの情報を取得する
  *
  * @param  Eccube\CartSession $objCart カートセッション管理クラス
  * @return array          カートデータ配列
  */
 public function lfGetCartData(CartSession &$objCart)
 {
     $arrCartKeys = $objCart->getKeys();
     foreach ($arrCartKeys as $cart_key) {
         // 購入金額合計
         $products_total += $objCart->getAllProductsTotal($cart_key);
         // 合計数量
         $total_quantity += $objCart->getTotalQuantity($cart_key);
         // 送料無料チェック
         if (!$this->isMultiple && !$this->hasDownload) {
             $is_deliv_free = $objCart->isDelivFree($cart_key);
         }
     }
     $arrCartList = array();
     $arrCartList['ProductsTotal'] = $products_total;
     $arrCartList['TotalQuantity'] = $total_quantity;
     // 店舗情報の取得
     $arrInfo = Application::alias('eccube.helper.db')->getBasisData();
     $arrCartList['free_rule'] = $arrInfo['free_rule'];
     // 送料無料までの金額
     if ($is_deliv_free) {
         $arrCartList['deliv_free'] = 0;
     } else {
         $deliv_free = $arrInfo['free_rule'] - $products_total;
         $arrCartList['deliv_free'] = $deliv_free;
     }
     return $arrCartList;
 }
예제 #2
0
 /**
  * カートの情報を取得する
  *
  * @param  CartSession $objCart  カートセッション管理クラス
  * @param  Array          $arrInfo  基本情報配列
  * @param  Array          $cartKeys 商品種類配列
  * @return array          $arrCartList カートデータ配列
  */
 public function lfGetCartData(CartSession $objCart, $arrInfo, $cartKeys)
 {
     $cartList = array();
     foreach ($cartKeys as $key) {
         // カート集計処理
         $cartList[$key]['productTypeName'] = $this->arrProductType[$key];
         //商品種類名
         $cartList[$key]['totalInctax'] = $objCart->getAllProductsTotal($key);
         //合計金額
         $cartList[$key]['delivFree'] = $arrInfo['free_rule'] - $cartList[$key]['totalInctax'];
         // 送料無料までの金額を計算
         $cartList[$key]['totalTax'] = $objCart->getAllProductsTax($key);
         //消費税合計
         $cartList[$key]['quantity'] = $objCart->getTotalQuantity($key);
         //商品数量合計
         $cartList[$key]['productTypeId'] = $key;
         // 商品種別ID
     }
     return $cartList;
 }
예제 #3
0
 /**
  * 配送業者IDから, 支払い方法, お届け時間の配列を取得する.
  *
  * 結果の連想配列の添字の値は以下の通り
  * - 'arrDelivTime' - お届け時間の配列
  * - 'arrPayment' - 支払い方法の配列
  * - 'img_show' - 支払い方法の画像の有無
  *
  * @param  CartSession $objCartSess CartSession インスタンス
  * @param  integer        $deliv_id    配送業者ID
  * @return array          支払い方法, お届け時間を格納した配列
  */
 public function getSelectedDeliv(CartSession &$objCartSess, $deliv_id)
 {
     $arrResults = array();
     if (strval($deliv_id) === strval(intval($deliv_id))) {
         $arrResults['arrDelivTime'] = Application::alias('eccube.helper.delivery')->getDelivTime($deliv_id);
         $total = $objCartSess->getAllProductsTotal($objCartSess->getKey());
         $payments_deliv = Application::alias('eccube.helper.delivery')->getPayments($deliv_id);
         /* @var $objPayment PaymentHelper */
         $objPayment = Application::alias('eccube.helper.payment');
         $payments_total = $objPayment->getByPrice($total);
         $arrPayment = array();
         foreach ($payments_total as $payment) {
             if (in_array($payment['payment_id'], $payments_deliv)) {
                 $arrPayment[] = $payment;
             }
         }
         $arrResults['arrPayment'] = $arrPayment;
         $arrResults['img_show'] = $this->hasPaymentImage($arrResults['arrPayment']);
     }
     return $arrResults;
 }