我正在运行Sitecore 6.3.
我有一个Sitecore包,它最初是从Web数据库而不是Master数据库错误地创建的.
数据库早已不复存在,我想将此包导入我的新Sitecore实例,但遇到问题,包直接进入Web数据库 - 而将其导入主数据库则至关重要.
我尝试通过更改文件名和引用来手动修改包,但在导入包时遇到了问题.
我发现了Sitecore 6.3的序列化功能,但它只允许我反序列化已经存在的项目,在我的情况下,Master数据库没有该项目.
将项目从Web数据库移回Master的最佳方法是什么?
谢谢
我现在正在努力通过C#向Sitecore数据库添加项目.
下面的代码正确执行,但是没有创建项目.
另外,我注意到,项目["FieldName"] =值; 语法实际上并不填充Fields集合.
项目上的字段集合似乎只读,所以我不能只调用.Add(这种方法不存在).
那么 - 创建子项并填充其字段的正确方法是什么?
我正在使用Master数据库来获取Sitecore后端和此代码.
我在下面使用的代码:
using (new Sitecore.SecurityModel.SecurityDisabler())
{
Database db = Factory.GetDatabase(this.Database);
foreach (var vacancy in Articles.Tables[0].Rows)
{
var rootItem = db.GetItem(this.RootItem);
DataRow dr = (DataRow) vacancy;
var newItem = rootItem.Add(string.Format("{0} {1}", dr["numericID"], dr["job_name"]),
db.GetTemplate(new ID("{GUID}")));
newItem.Editing.BeginEdit();
newItem["Job Title"] = dr["job_name"].ToString();//
newItem.Editing.EndEdit();
}
}
Run Code Online (Sandbox Code Playgroud)
更多信息:newItem.Template.Fields返回一个包含100个字段的集合
newItem.Fields返回一个FieldCollection,其中只包含9个元素.
当我通过代码newItem ["field"].值=值; 它不会增加newItem.Fields集合计数.
当然,"field"键与newItem.Template.Fields [x] .Name中的键一致.
是否有适用于Sitecore的良好API文档?
我的意思是这样的:http://msdn.microsoft.com/en-us/library/system.web.ui.aspx
但对于Sitecore特定的类?
我知道他们的SDN网站,并在那里有一个帐户,但似乎找不到比许多深入描述特定主题的PDF文件更有用的东西(文档包).
谢谢