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

Gar*_*aph 3 c# sitecore sitecore6

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

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

但是,Item类的MoveTo方法仅将Item作为参数.所以我不知道如何告诉它将项目移动到文件夹中,因为文件夹不能表示为项目?

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

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

Ste*_*ope 5

Sitecore中的所有内容都是项目(甚至是文件夹),您可以根据文件夹pathGUID使用Database对象将文件夹解析为项目.

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

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

希望这可以帮助.