如何禁用 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));
我正在对 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));