如何禁用Kentico 10中的产品?

时间:2017-02-08 13:35:03

标签: kentico

我正在为kentico 10中的电子商务网站产品执行CRUD操作。我可以使用以下API添加和更新产品

SKUInfoProvider.SetSKUInfo(updateProduct);

还有一个用于删除产品的API

SKUInfoProvider.DeleteSKUInfo(updateProduct);

但我不希望从数据库中删除该产品,而只是禁用它们,以便它们不会显示给最终用户并仍然留在数据库中。

这是产品的SKU对象:

var sku = new SKUInfo
            {
                //SKUName = Convert.ToString(dr["SHORT_DESCRIPTION"]).Trim('"') + " (" + Convert.ToString(dr["MANUFACTURER_PART_NUMBER"]) + ")",
                SKUName = Convert.ToString(dr["MANUFACTURER_PART_NUMBER"]),
                SKUDescription = Convert.ToString(dr["TECHNICAL_SPECIFICATIONS"]).Trim('"'),
                SKUShortDescription = Convert.ToString(dr["SHORT_DESCRIPTION"]).Trim('"'),
                SKUPrice = ValidationHelper.GetDouble(dr["RESELLER_BUY_INC"], 0),
                SKURetailPrice = ValidationHelper.GetDouble(dr["RRP_INC"], 0),
                SKUEnabled = true,
                SKUSiteID = siteId,
                SKUProductType = SKUProductTypeEnum.Product,
                SKUManufacturerID = manufacturer.ManufacturerID,
                SKUDepartmentID = department.DepartmentID,
                SKUHeight = 100,
                SKUWidth = 100,
                SKUAvailableItems = 1,
                SKUSellOnlyAvailable = true
            };

我尝试将SKUEnabled设置为false但仍然可以看到产品。那么,是否有任何属性可以禁用产品?

2 个答案:

答案 0 :(得分:0)

你是如何展示Sku的?如果它是转发器,您可能需要按" SKUEnabled = 1"进行过滤。在你的条件下。

另一个选择是,如果产品有一个页面(它不是独立的sku),您可以取消发布页面本身。

答案 1 :(得分:0)

嗯......用户没有看到每个人说的产品 - 他看到连接到您的SKU /产品的页面。当您禁用SKU时 - 页面仍然可见,但(如果我没有记错的话)“添加到购物车”未显示。您需要取消发布产品页面。您需要将文档的DocumentPublishTo设置为ex:

之前的某个日期

ProductNode.SetValue(“DocumentPublishTo”,DateTime.Now.AddDays(-1));