Sitecore 从子节点数据构建单个页面
Sitecore Building a single page from child node data
我有一个项目的 Sitecore 结构,其中包括
- 范围
- 产品 1
- 产品名称(文字)
- 产品图片(图片)
- 产品 2
- 产品名称(文字)
- 产品图片(文字)
我需要创建一个页面视图,循环遍历每个节点并为每个节点收集和输出数据 - 任何人都可以协助我最好使用的方法吗?
抱歉,如果这是一个基本问题,但任何示例代码都将不胜感激。
您真的应该考虑只使用带有“产品名称”字段和“产品图片”字段的单个产品模板,而不是在产品下使用具有单个字段的项目。但如果这是您的要求,这就是您的做法。
子布局(或布局,如果需要的话)
<div>
<sc:Text runat="server" id="txtProductName" Field="ProductName"/>
<sc:Image runat="server" id="imgProductImage" Field="ProductImage"/>
</div>
然后在后面的代码中,您将获取当前项目(产品)并找到与您要查找的内容相对应的子项目,并将其分配为字段项目。
private void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
txtProductName.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductName);
imgProductImage.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductImage);
}
在我的示例中,我解决了它寻找模板类型 X 的项目的问题,但您可以通过名称或其他方式了解。
我有一个项目的 Sitecore 结构,其中包括
- 范围
- 产品 1
- 产品名称(文字)
- 产品图片(图片)
- 产品 2
- 产品名称(文字)
- 产品图片(文字)
- 产品 1
我需要创建一个页面视图,循环遍历每个节点并为每个节点收集和输出数据 - 任何人都可以协助我最好使用的方法吗?
抱歉,如果这是一个基本问题,但任何示例代码都将不胜感激。
您真的应该考虑只使用带有“产品名称”字段和“产品图片”字段的单个产品模板,而不是在产品下使用具有单个字段的项目。但如果这是您的要求,这就是您的做法。
子布局(或布局,如果需要的话)
<div>
<sc:Text runat="server" id="txtProductName" Field="ProductName"/>
<sc:Image runat="server" id="imgProductImage" Field="ProductImage"/>
</div>
然后在后面的代码中,您将获取当前项目(产品)并找到与您要查找的内容相对应的子项目,并将其分配为字段项目。
private void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
txtProductName.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductName);
imgProductImage.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductImage);
}
在我的示例中,我解决了它寻找模板类型 X 的项目的问题,但您可以通过名称或其他方式了解。