Tôi hiện đang chiến đấu với việc thêm các mục qua C# vào cơ sở dữ liệu Sitecore.Làm cách nào để lập trình các mục Sitecore (Thêm mục và trường)?
Mã bên dưới thực hiện chính xác, tuy nhiên các mục không được tạo.
Ngoài ra, tôi nhận thấy rằng mục ["FieldName"] = giá trị; cú pháp không thực sự phổ biến bộ sưu tập Fields.
Và bộ sưu tập Trường trên mục có vẻ chỉ đọc, vì vậy tôi không thể chỉ gọi .Thêm vào đó (phương thức này không tồn tại).
Vậy - cách tạo đúng mục con và điền vào trường của nó là gì?
Tôi đang sử dụng cơ sở dữ liệu Chính cho cả phần phụ trợ Sitecore và mã này.
Mã này tôi sử dụng dưới đây:
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();
}
}
Thông tin thêm: newItem.Template.Fields trả về một bộ sưu tập với 100 lĩnh vực
newItem.Fields trả về một FieldCollection với chỉ 9 yếu tố trong đó.
Khi tôi chuyển qua mã newItem ["field"]. Value = value; nó không tăng số lượng bộ sưu tập newItem.Fields.
Tất nhiên, khóa "trường" là nhất quán với khóa hiện diện trong newItem.Template.Fields [x] .Name.
2) Có, điều này đã giúp điền trước bộ sưu tập Fields, tôi sẽ cho bạn biết làm thế nào tôi có được cùng. –
3) Tôi không thấy chúng trong Sitecore Content Editor khi sử dụng cơ sở dữ liệu Master. –
4) Có ......... –