Sitecore 从子节点数据构建单个页面

Sitecore Building a single page from child node data

我有一个项目的 Sitecore 结构,其中包括

我需要创建一个页面视图,循环遍历每个节点并为每个节点收集和输出数据 - 任何人都可以协助我最好使用的方法吗?

抱歉,如果这是一个基本问题,但任何示例代码都将不胜感激。

您真的应该考虑只使用带有“产品名称”字段和“产品图片”字段的单个产品模板,而不是在产品下使用具有单个字段的项目。但如果这是您的要求,这就是您的做法。

子布局(或布局,如果需要的话)

<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 的项目的问题,但您可以通过名称或其他方式了解。