当前位置: 首页>>代码示例>>PHP>>正文


PHP SC_Product_Ex::getBuyLimit方法代码示例

本文整理汇总了PHP中SC_Product_Ex::getBuyLimit方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Product_Ex::getBuyLimit方法的具体用法?PHP SC_Product_Ex::getBuyLimit怎么用?PHP SC_Product_Ex::getBuyLimit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SC_Product_Ex的用法示例。


在下文中一共展示了SC_Product_Ex::getBuyLimit方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: checkProducts

 /**
  * カート内の商品の妥当性をチェックする.
  *
  * エラーが発生した場合は, 商品をカート内から削除又は数量を調整し,
  * エラーメッセージを返す.
  *
  * 1. 商品種別に関連づけられた配送業者の存在チェック
  * 2. 削除/非表示商品のチェック
  * 3. 販売制限数のチェック
  * 4. 在庫数チェック
  *
  * @param string $productTypeId 商品種別ID
  * @return string エラーが発生した場合はエラーメッセージ
  */
 function checkProducts($productTypeId)
 {
     $objProduct = new SC_Product_Ex();
     $tpl_message = '';
     // カート内の情報を取得
     $arrItems = $this->getCartList($productTypeId);
     foreach ($arrItems as &$arrItem) {
         $product =& $arrItem['productsClass'];
         /*
          * 表示/非表示商品のチェック
          */
         if (SC_Utils_Ex::isBlank($product) || $product['status'] != 1) {
             $this->delProduct($arrItem['cart_no'], $productTypeId);
             $tpl_message .= t('c_* A product in your cart is no longer being sold at this time. The item was deleted from your cart._01');
         } else {
             /*
              * 配送業者のチェック
              */
             $arrDeliv = SC_Helper_Purchase_Ex::getDeliv($productTypeId);
             if (SC_Utils_Ex::isBlank($arrDeliv)) {
                 $tpl_message .= t('c_* Delivery preparations are not ready  for T_ARG1. Please access the inquiry page for more details._01', array('T_ARG1' => $product['name']));
                 $this->delProduct($arrItem['cart_no'], $productTypeId);
             }
             /*
              * 販売制限数, 在庫数のチェック
              */
             $limit = $objProduct->getBuyLimit($product);
             if (!is_null($limit) && $arrItem['quantity'] > $limit) {
                 if ($limit > 0) {
                     $this->setProductValue($arrItem['id'], 'quantity', $limit, $productTypeId);
                     $total_inctax = SC_Helper_DB_Ex::sfCalcIncTax($arrItem['price']) * $limit;
                     $this->setProductValue($arrItem['id'], 'total_inctax', $total_inctax, $productTypeId);
                     $tpl_message .= t('c_* There is a sale restriction (or inventory shortage) for T_ARG1. It is not possible to purchase a quantity that exceeds T_ARG2 in a single purchase._01', array('T_ARG1' => $product['name'], 'T_ARG2' => $limit));
                 } else {
                     $this->delProduct($arrItem['cart_no'], $productTypeId);
                     $tpl_message .= t('c_* T_ARG1 is sold out._01', array('T_ARG1' => $product['name']));
                     continue;
                 }
             }
         }
     }
     return $tpl_message;
 }
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:57,代码来源:SC_CartSession.php

示例2: checkProducts

 /**
  * カート内の商品の妥当性をチェックする.
  *
  * エラーが発生した場合は, 商品をカート内から削除又は数量を調整し,
  * エラーメッセージを返す.
  *
  * 1. 商品種別に関連づけられた配送業者の存在チェック
  * 2. 削除/非表示商品のチェック
  * 3. 販売制限数のチェック
  * 4. 在庫数チェック
  *
  * @param  string $productTypeId 商品種別ID
  * @return string エラーが発生した場合はエラーメッセージ
  */
 public function checkProducts($productTypeId)
 {
     $objProduct = new SC_Product_Ex();
     $objDelivery = new SC_Helper_Delivery_Ex();
     $arrDeliv = $objDelivery->getList($productTypeId);
     $tpl_message = '';
     // カート内の情報を取得
     $arrItems = $this->getCartList($productTypeId);
     foreach ($arrItems as &$arrItem) {
         $product =& $arrItem['productsClass'];
         /*
          * 表示/非表示商品のチェック
          */
         if (SC_Utils_Ex::isBlank($product) || $product['status'] != 1) {
             $this->delProduct($arrItem['cart_no'], $productTypeId);
             $tpl_message .= "※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。\n";
         } else {
             /*
              * 配送業者のチェック
              */
             if (SC_Utils_Ex::isBlank($arrDeliv)) {
                 $tpl_message .= '※「' . $product['name'] . '」はまだ配送の準備ができておりません。';
                 $tpl_message .= '恐れ入りますがお問い合わせページよりお問い合わせください。' . "\n";
                 $this->delProduct($arrItem['cart_no'], $productTypeId);
             }
             /*
              * 販売制限数, 在庫数のチェック
              */
             $limit = $objProduct->getBuyLimit($product);
             if (!is_null($limit) && $arrItem['quantity'] > $limit) {
                 if ($limit > 0) {
                     $this->setProductValue($arrItem['id'], 'quantity', $limit, $productTypeId);
                     $total_inctax = $limit * SC_Helper_TaxRule_Ex::sfCalcIncTax($arrItem['price'], $product['product_id'], $arrItem['id'][0]);
                     $this->setProductValue($arrItem['id'], 'total_inctax', $total_inctax, $productTypeId);
                     $tpl_message .= '※「' . $product['name'] . '」は販売制限(または在庫が不足)しております。';
                     $tpl_message .= "一度に数量{$limit}を超える購入はできません。\n";
                 } else {
                     $this->delProduct($arrItem['cart_no'], $productTypeId);
                     $tpl_message .= '※「' . $product['name'] . "」は売り切れました。\n";
                     continue;
                 }
             }
         }
     }
     return $tpl_message;
 }
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:60,代码来源:SC_CartSession.php

示例3: checkProducts

 /**
  * カート内の商品の妥当性をチェックする.
  *
  * エラーが発生した場合は, 商品をカート内から削除又は数量を調整し,
  * エラーメッセージを返す.
  *
  * 1. 商品種別に関連づけられた配送業者の存在チェック
  * 2. 削除/非表示商品のチェック
  * 3. 商品購入制限数のチェック
  * 4. 在庫数チェック
  *
  * @param string $key 商品種別ID
  * @return string エラーが発生した場合はエラーメッセージ
  */
 function checkProducts($productTypeId)
 {
     $objProduct = new SC_Product_Ex();
     $tpl_message = "";
     // カート内の情報を取得
     $items = $this->getCartList($productTypeId);
     foreach (array_keys($items) as $key) {
         $item =& $items[$key];
         $product =& $item['productsClass'];
         /*
          * 表示/非表示商品のチェック
          */
         if (SC_Utils_Ex::isBlank($product)) {
             $this->delProduct($item['cart_no'], $productTypeId);
             $tpl_message .= "※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。\n";
         } else {
             /*
              * 配送業者のチェック
              */
             $arrDeliv = SC_Helper_Purchase_Ex::getDeliv($productTypeId);
             if (SC_Utils_Ex::isBlank($arrDeliv)) {
                 $tpl_message .= "※「" . $product['name'] . "」はまだ配送の準備ができておりません。恐れ入りますがお問い合わせページよりお問い合わせください。\n";
                 $this->delProduct($item['cart_no'], $productTypeId);
             }
             /*
              * 商品購入制限数, 在庫数のチェック
              */
             $limit = $objProduct->getBuyLimit($product);
             if (!is_null($limit) && $item['quantity'] > $limit) {
                 if ($limit > 0) {
                     $this->setProductValue($item['id'], 'quantity', $limit, $productTypeId);
                     $this->setProductValue($item['id'], 'total_inctax', SC_Helper_DB_Ex::sfCalcIncTax($item['price']) * $limit, $productTypeId);
                     $tpl_message .= "※「" . $product['name'] . "」は販売制限(または在庫が不足)しております。一度に数量{$limit}以上の購入はできません。\n";
                 } else {
                     $this->delProduct($item['cart_no'], $productTypeId);
                     $tpl_message .= "※「" . $product['name'] . "」は売り切れました。\n";
                     continue;
                 }
             }
         }
     }
     return $tpl_message;
 }
开发者ID:nanasess,项目名称:ec-azure,代码行数:57,代码来源:SC_CartSession.php


注:本文中的SC_Product_Ex::getBuyLimit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。