如何禁用 Kentico 10 中的产品?

How do I disable products in Kentico 10?

我正在对 kentico 电子商务网站的产品执行 CRUD 操作 10.I 可以使用以下方法添加和更新产品 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,但用户仍然可以看到 product.So,是否有任何 属性 来禁用产品?

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

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

嗯...用户不会看到每个人所说的产品 - 他看到的页面与您的 SKUs/products 相关联。当您禁用 SKU 时 - 页面仍然可见,但(如果我没记错的话)"Add To Cart" 未显示。您需要取消发布产品页面。您需要将文档的 DocumentPublishTo 设置为之前的某个日期,例如:

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