gpt4 book ai didi

c# - 使用 Kentico API 9 创建多元文化产品

转载 作者:行者123 更新时间:2023-11-30 16:01:45 25 4
gpt4 key购买 nike

我正在开发一种工具,用于将数据从 Sitecore 迁移到 Kentico。我正在寻找一种使用 Kentico API 9 创建具有两种不同文化的产品的方法。我想从 Sitecore 提取数据并使用 API 将其存储到 Kentico。

我查看了 Kentico 文档,它为我们提供了创建产品的代码:

// Gets a department
DepartmentInfo department = DepartmentInfoProvider.GetDepartmentInfo("NewDepartment", SiteContext.CurrentSiteName);

// Creates a new product object
SKUInfo newProduct = new SKUInfo();

// Sets the product properties
newProduct.SKUName = "NewProduct";
newProduct.SKUPrice = 120;
newProduct.SKUEnabled = true;
if (department != null)
{
newProduct.SKUDepartmentID = department.DepartmentID;
}
newProduct.SKUSiteID = SiteContext.CurrentSiteID;

// Saves the product to the database
// Note: Only creates the SKU object. You also need to create a connected Product page to add the product to the site.
SKUInfoProvider.SetSKUInfo(newProduct);

但我无法弄清楚如何创建具有每种文化附件的多文化产品。

有人会帮助或推荐一种不同的方法将数据从 Sitecore 迁移到 Kentico 吗?

最佳答案

您应该使用位于CMS.DocumentEngine中的DocumentHelper.InsertDocument()将页面保存在第一种文化中,然后使用DocumentHelper.InsertNewCultureVersion() 将其他文化添加到页面。您的代码能够创建 SKU,因此要为这些 SKU 创建产品页面,您应该添加以下内容:

TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

//Get a parent node, under which the product pages will be created.
//Replace "/Store/Products" with page alias of the parent page to use.
TreeNode parentNode = tree.SelectSingleNode(SiteContext.CurrentSiteName, "/Store/Products", "en-us");

//Create a new product page
TreeNode node = TreeNode.New("CMS.Product", tree);

//Set the product page's culture and culture specific properties, according to your needs
node.DocumentCulture = "en-us";
node.DocumentName = "ProductPage - English";
node.NodeSKUID = newProduct.SKUID;

//Save the page
DocumentHelper.InsertDocument(node, parentNode, tree);

//Set the product pages culture and culture specific properties for another culture
node.DocumentCulture = "es-es";
node.DocumentName = "ProductPage - Spanish";
node.NodeSKUID = newProduct.SKUID;

//Save the new culture version
DocumentHelper.InsertNewCultureVersion(node, tree, "es-es");

要向文档添加附件,请在将文档保存到数据库之前使用DocumentHelper.AddAttachment()。然后只需重复 DocumentHelper.InsertDocument 之后的 block 即可添加任意数量的文化。

希望这对您有所帮助。

关于c# - 使用 Kentico API 9 创建多元文化产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com