gpt4 book ai didi

c# - 尝试将 sitecore 项目移动到内容树中的文件夹中

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

我在 Sitecore 的内容树中创建了一个结构,如下所示:基于模板的主目录项。然后我在主页项下有一系列文件夹,以日期命名。

我正在创建一个命令模板,这样当我在主页项目下添加一个新项目时,它会自动将其移动到当前日期所代表的文件夹下。

但是,Item 类的MoveTo 方法只接受一个I​​tem 作为参数。所以我不知道如何告诉它将项目移动到文件夹中,因为文件夹不能表示为项目?

我做了一些挖掘,我发现当我将一个项目直接放在文件夹下时,它显示的 ParentID 与我直接放在 Home 项目下不同,这意味着 Folder 确实是一个 Item .但是,当我尝试检索文件夹所代表的项目时,我得到的是空值。

例如Sitecore.Context.Database.Items["/sitecore/content/Home/30Nov2011"];

最佳答案

Sitecore 中的一切都是项目(甚至文件夹),您可以根据其 path 将文件夹解析为项目或 GUID使用 Database对象。

var currentDb = Sitecore.Data.Database.GetDatabase("master");
var folderItem = currentDb.GetItem("/sitecore/content/Home/30Nov2011");
Sitecore.Context.Item.MoveTo(folderItem);

编辑:当您在内容编辑器环境中工作时,您需要明确告诉它要使用哪个数据库(在本例中为master 数据库)作为Context。范围将不包含您希望使用的数据库。

希望这对您有所帮助。

关于c# - 尝试将 sitecore 项目移动到内容树中的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8384283/

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