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"];
Sitecore中的所有内容都是项目(甚至是文件夹),您可以根据文件夹path或GUID使用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范围不包含您希望使用的数据库.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3149 次 |
| 最近记录: |