我已经定义了使用相同层次但布局不同的分支数量。 我正在从外部源导入数据并以编程方式在存储桶中创建项目。我根据一些逻辑获得了对正确分支的引用,并使用以下代码创建并将分支项添加到我的存储桶中:
BranchItem branch = News.GetNewsBranchItem(item.Genre);
if (branch == null)
{
Sitecore.Diagnostics.Log.Error(string.Format("Missing branch for {} genre!", item.Genre), this);
Sitecore.Diagnostics.Log.Error(string.Format("Failed to import import item id: {0}", item.Id.ToString()), this);
return;
}
Item newlyCreatedBranch = parent.Add(ItemUtil.ProposeValidItemName(item.Title), branch);
然后我想访问分支第一个孩子,这实际上是我要填写数据的新闻项目并完成动作:
Item newsItem = newlyCreatedBranch.Children[0];
newsItem.Editing.BeginEdit();
newsItem[SCG.BasePage2.FieldIds.MetaKeywords] = item.Keywords;
.
.
.
newsItem.Editing.EndEdit();
在流程成功完成后,我会检查新创建的项目,并惊讶地发现我缺少内容?!
我很惊讶,因为之前我正在访问并填充我的分支子节点
parent.Add(ItemUtil.ProposeValidItemName(item.Title), branch);
并注意到新闻项目已正确填写...... 任何帮助表示赞赏
答案 0 :(得分:0)
在漫长的一天之后已经很晚了,因此我在上面发布了愚蠢的问题。 好吧,遵循代码返回新闻项而不是分支项:
Swift
一旦我考虑了退回的项目,我想解决问题的项目就解决了。 评论代码不是必需的:
Item newlyCreatedBranch = parent.Add(ItemUtil.ProposeValidItemName(item.Title), branch);