本文整理汇总了PHP中SC_Helper_DB_Ex::sfGetProductsClass方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_DB_Ex::sfGetProductsClass方法的具体用法?PHP SC_Helper_DB_Ex::sfGetProductsClass怎么用?PHP SC_Helper_DB_Ex::sfGetProductsClass使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_DB_Ex
的用法示例。
在下文中一共展示了SC_Helper_DB_Ex::sfGetProductsClass方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mobileProcess
/**
* Page のプロセス(モバイル).
*
* @return void
*/
function mobileProcess()
{
// 買い物を続ける場合
if (!isset($_REQUEST['continue'])) {
$_REQUEST['continue'] = "";
}
if ($_REQUEST['continue']) {
$this->sendRedirect($this->getLocation(MOBILE_URL_SITE_TOP), true);
exit;
}
$objView = new SC_MobileView(false);
$objCartSess = new SC_CartSession("", false);
$objSiteSess = new SC_SiteSession();
$objSiteInfo = $objView->objSiteInfo;
$objCustomer = new SC_Customer();
$objDb = new SC_Helper_DB_Ex();
// 基本情報の取得
$arrInfo = $objSiteInfo->data;
// 商品購入中にカート内容が変更された。
if ($objCartSess->getCancelPurchase()) {
$this->tpl_message = "商品購入中にカート内容が変更されましたので、お手数ですが購入手続きをやり直して下さい。";
}
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
switch ($_POST['mode']) {
case 'confirm':
// カート内情報の取得
$arrRet = $objCartSess->getCartList();
$max = count($arrRet);
$cnt = 0;
for ($i = 0; $i < $max; $i++) {
// 商品規格情報の取得
$arrData = $objDb->sfGetProductsClass($arrRet[$i]['id']);
// DBに存在する商品
if ($arrData != "") {
$cnt++;
}
}
// カート商品が1件以上存在する場合
if ($cnt > 0) {
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
$pre_uniqid = $objSiteSess->getUniqId();
// 注文一時IDの発行
$objSiteSess->setUniqId();
$uniqid = $objSiteSess->getUniqId();
// エラーリトライなどで既にuniqidが存在する場合は、設定を引き継ぐ
if ($pre_uniqid != "") {
$sqlval['order_temp_id'] = $uniqid;
$where = "order_temp_id = ?";
$objQuery = new SC_Query();
$objQuery->update("dtb_order_temp", $sqlval, $where, array($pre_uniqid));
}
// カートを購入モードに設定
$objCartSess->saveCurrentCart($uniqid);
// 購入ページへ
$this->sendRedirect(MOBILE_URL_SHOP_TOP, true);
exit;
}
break;
default:
break;
}
if (!isset($_GET['mode'])) {
$_GET['mode'] = "";
}
/*
* FIXME sendRedirect() を使った方が良いが無限ループしてしまう...
*/
switch ($_GET['mode']) {
case 'up':
$objCartSess->upQuantity($_GET['cart_no']);
SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
break;
case 'down':
$objCartSess->downQuantity($_GET['cart_no']);
SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
break;
case 'delete':
$objCartSess->delProduct($_GET['cart_no']);
SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
break;
}
// カート集計処理
if (empty($arrData)) {
$arrData = array();
}
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
$this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer);
$this->arrInfo = $arrInfo;
// ログイン判定
if ($objCustomer->isLoginSuccess(true)) {
$this->tpl_login = true;
$this->tpl_user_point = $objCustomer->getValue('point');
//.........这里部分代码省略.........
示例2: lfRegistOrderDetail
function lfRegistOrderDetail(&$objQuery, $order_id, &$objCartSess)
{
$objDb = new SC_Helper_DB_Ex();
// カート内情報の取得
$arrCart = $objCartSess->getCartList();
$max = count($arrCart);
// 既に存在する詳細レコードを消しておく。
$objQuery->delete("dtb_order_detail", "order_id = {$order_id}");
// 規格名一覧
$arrClassName = $objDb->sfGetIDValueList("dtb_class", "class_id", "name");
// 規格分類名一覧
$arrClassCatName = $objDb->sfGetIDValueList("dtb_classcategory", "classcategory_id", "name");
for ($i = 0; $i < $max; $i++) {
// 商品規格情報の取得
$arrData = $objDb->sfGetProductsClass($arrCart[$i]['id']);
// 存在する商品のみ表示する。
if ($arrData != "") {
$sqlval['order_id'] = $order_id;
$sqlval['product_id'] = $arrCart[$i]['id'][0];
$sqlval['classcategory_id1'] = $arrCart[$i]['id'][1];
$sqlval['classcategory_id2'] = $arrCart[$i]['id'][2];
$sqlval['product_name'] = $arrData['name'];
$sqlval['product_code'] = $arrData['product_code'];
$sqlval['classcategory_name1'] = $arrClassCatName[$arrData['classcategory_id1']];
$sqlval['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']];
$sqlval['point_rate'] = $arrCart[$i]['point_rate'];
$sqlval['price'] = $arrCart[$i]['price'];
$sqlval['quantity'] = $arrCart[$i]['quantity'];
$this->lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity']);
// INSERTの実行
$objQuery->insert("dtb_order_detail", $sqlval);
} else {
if (defined("MOBILE_SITE")) {
SC_Utils_Ex::sfDispSiteError(CART_NOT_FOUND, "", false, "", true);
} else {
SC_Utils_Ex::sfDispSiteError(CART_NOT_FOUND);
}
}
}
}
示例3: lfGetProductsClass
function lfGetProductsClass($product_id, $classcategory_id1, $classcategory_id2)
{
$objDb = new SC_Helper_DB_Ex();
$arrClassCatName = $objDb->sfGetIDValueList("dtb_classcategory", "classcategory_id", "name");
$arrRet = $objDb->sfGetProductsClass(array($product_id, $classcategory_id1, $classcategory_id2));
$arrProduct['price'] = $arrRet['price02'];
$arrProduct['quantity'] = 1;
$arrProduct['product_id'] = $arrRet['product_id'];
$arrProduct['point_rate'] = $arrRet['point_rate'];
$arrProduct['product_code'] = $arrRet['product_code'];
$arrProduct['product_name'] = $arrRet['name'];
$arrProduct['classcategory_id1'] = $arrRet['classcategory_id1'];
$arrProduct['classcategory_id2'] = $arrRet['classcategory_id2'];
$arrProduct['classcategory_name1'] = $arrClassCatName[$arrRet['classcategory_id1']];
$arrProduct['classcategory_name2'] = $arrClassCatName[$arrRet['classcategory_id2']];
return $arrProduct;
}