全部
常见问题
产品动态
精选推荐

PHP CSaleBasket::ProductSubscribe方法代码示例

管理 管理 编辑 删除

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

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

示例1: Update

 public function Update($ID, $arFields)
 {
     global $DB;
     $ID = (int) $ID;
     if ($ID <= 0) {
         return false;
     }
     foreach (GetModuleEvents("catalog", "OnBeforeProductUpdate", true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
             return false;
         }
     }
     if (array_key_exists('ID', $arFields)) {
         unset($arFields['ID']);
     }
     if (!CCatalogProduct::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_catalog_product", $arFields);
     $boolSubscribe = false;
     if (!empty($strUpdate)) {
         if (isset($arFields["QUANTITY"]) && $arFields["QUANTITY"] > 0) {
             if (!isset($arFields["OLD_QUANTITY"])) {
                 $strQuery = 'select ID, QUANTITY from b_catalog_product where ID = ' . $ID;
                 $rsProducts = $DB->Query($strQuery, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
                 if ($arProduct = $rsProducts->Fetch()) {
                     $arFields["OLD_QUANTITY"] = doubleval($arProduct['QUANTITY']);
                 }
             }
             if (isset($arFields["OLD_QUANTITY"])) {
                 $boolSubscribe = $arFields["OLD_QUANTITY"] <= 0;
             }
         }
         $strSql = "update b_catalog_product set " . $strUpdate . " where ID = " . $ID;
         $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         if (CBXFeatures::IsFeatureEnabled('CatCompleteSet') && (isset($arFields['QUANTITY']) || isset($arFields['QUANTITY_TRACE']) || isset($arFields['CAN_BUY_ZERO']) || isset($arFields['WEIGHT']))) {
             CCatalogProductSet::recalculateSetsByProduct($ID);
         }
         if (isset(self::$arProductCache[$ID])) {
             unset(self::$arProductCache[$ID]);
             if (defined('CATALOG_GLOBAL_VARS') && 'Y' == CATALOG_GLOBAL_VARS) {
                 /** @var array $CATALOG_PRODUCT_CACHE */
                 global $CATALOG_PRODUCT_CACHE;
                 $CATALOG_PRODUCT_CACHE = self::$arProductCache;
             }
         }
     }
     foreach (GetModuleEvents("catalog", "OnProductUpdate", true) as $arEvent) {
         ExecuteModuleEventEx($arEvent, array($ID, $arFields));
     }
     //call subscribe
     if ($boolSubscribe) {
         if (self::$saleIncluded === null) {
             self::$saleIncluded = Loader::includeModule('sale');
         }
         if (self::$saleIncluded) {
             CSaleBasket::ProductSubscribe($ID, 'catalog');
         }
     }
     return true;
 }

示例2: Update


//.........这里部分代码省略.........
     * час, "D" - сутки, "W" - неделя, "M" - месяц, "Q" - квартал, "S" - полугодие, "Y" -
     * год);</li> <li> <b>RECUR_SCHEME_LENGTH</b> - длина периода подписки;</li> <li>
     * <b>TRIAL_PRICE_ID</b> - код товара, для которого данный товар является
     * пробным;</li> <li> <b>WITHOUT_ORDER</b> - флаг "Продление подписки без
     * оформления заказа";</li> <li> <b>PURCHASING_PRICE</b> - закупочная цена;</li> <li>
     * <b>PURCHASING_CURRENCY</b> - валюта закупочной цены;</li> <li> <b>CAN_BUY_ZERO</b> - флаг
     * (Y/N/D)<b>*</b> "разрешить покупку при отсутствии товара";</li> <li>
     * <b>NEGATIVE_AMOUNT_TRACE</b> - флаг (Y/N/D)<b>*</b> "разрешить отрицательное
     * количество товара".</li> </ul>
     *
     *
     *
     * @return bool <p>Возвращает <i>true</i> в случае успешного обновления параметров и
     * <i>false</i> в противном случае.</p>
     *
     *
     * <h4>Example</h4> 
     * <pre>
     * Обновление зарезервированного количества товара
     * Cmodule::IncludeModule('catalog');
     * $PRODUCT_ID = 51; // id товара
     * $arFields = array('QUANTITY_RESERVED' => 11);// зарезервированное количество
     * CCatalogProduct::Update($PRODUCT_ID, $arFields);
     * </pre>
     *
     *
     * @static
     * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogproduct/ccatalogproduct__update.bc9a623b.php
     * @author Bitrix
     */
    static public function Update($ID, $arFields)
    {
        global $DB;

        $ID = intval($ID);
        if (0 >= $ID)
            return false;

        if (array_key_exists('ID', $arFields))
            unset($arFields["ID"]);

        foreach (GetModuleEvents("catalog", "OnBeforeProductUpdate", true) as $arEvent)
        {
            if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields))===false)
                return false;
        }

        if (!CCatalogProduct::CheckFields("UPDATE", $arFields, $ID))
            return false;

        $strUpdate = $DB->PrepareUpdate("b_catalog_product", $arFields);

        $strUpdate = trim($strUpdate);
        $boolSubscribe = false;
        if (!empty($strUpdate))
        {
            if (isset($arFields["QUANTITY"]) && $arFields["QUANTITY"] > 0)
            {
                if (!isset($arFields["OLD_QUANTITY"]))
                {
                    $strQuery = 'select ID, QUANTITY from b_catalog_product where ID = '.$ID;
                    $rsProducts = $DB->Query($strQuery, false, "File: ".__FILE__."<br>Line: ".__LINE__);
                    if ($arProduct = $rsProducts->Fetch())
                    {
                        $arFields["OLD_QUANTITY"] = doubleval($arProduct['QUANTITY']);
                    }
                }
                if (isset($arFields["OLD_QUANTITY"]))
                {
                    $boolSubscribe = !(0 < $arFields["OLD_QUANTITY"]);
                }
            }

            $strSql = "UPDATE b_catalog_product SET ".$strUpdate." WHERE ID = ".$ID;
            $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

            if (array_key_exists($ID, self::$arProductCache))
            {
                unset(self::$arProductCache[$ID]);
                if (defined('CATALOG_GLOBAL_VARS') && 'Y' == CATALOG_GLOBAL_VARS)
                {
                    global $CATALOG_PRODUCT_CACHE;
                    $CATALOG_PRODUCT_CACHE = self::$arProductCache;
                }
            }
        }

        foreach (GetModuleEvents("catalog", "OnProductUpdate", true) as $arEvent)
        {
            ExecuteModuleEventEx($arEvent, array($ID, $arFields));
        }

        //call subscribe
        if ($boolSubscribe && CModule::IncludeModule('sale'))
        {
            CSaleBasket::ProductSubscribe($ID, "catalog");
        }

        return true;
    }

代码来源:product.php

CRMEB-慕白寒窗雪 最后编辑于2023-03-17 17:26:43

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1098
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

2081

发布

1772

经验

44360

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服