我正在为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但仍然可以看到产品。那么,是否有任何属性可以禁用产品?
答案 0 :(得分:0)
你是如何展示Sku的?如果它是转发器,您可能需要按" SKUEnabled = 1"进行过滤。在你的条件下。
另一个选择是,如果产品有一个页面(它不是独立的sku),您可以取消发布页面本身。
答案 1 :(得分:0)
嗯......用户没有看到每个人说的产品 - 他看到连接到您的SKU /产品的页面。当您禁用SKU时 - 页面仍然可见,但(如果我没有记错的话)“添加到购物车”未显示。您需要取消发布产品页面。您需要将文档的DocumentPublishTo设置为ex:
之前的某个日期ProductNode.SetValue(“DocumentPublishTo”,DateTime.Now.AddDays(-1));