umbraco-重复内容

umbraco-重复内容,umbraco,Umbraco,我第一次使用Umbraco为客户设计网站。每个页面由重复的内容面板组成-每个面板包含图像、标题和正文文本 我已经将文档类型和模板完美地用于内容面板。但是,我不知道如何在一个网页中添加多个面板——我假设我将主页文档类型设置为允许内容面板作为子节点——然后需要一个宏来迭代子节点,并使用内容面板模板呈现每个节点 此外,我还希望客户端能够从每个页面添加和删除面板 有人能给我一个宏代码的例子吗?非常感谢任何帮助 如果您查看Blog4Umbraco包,您可以看到一个非常详细的示例,说明您正在尝试做什么。(不

我第一次使用Umbraco为客户设计网站。每个页面由重复的内容面板组成-每个面板包含图像、标题和正文文本

我已经将文档类型和模板完美地用于内容面板。但是,我不知道如何在一个网页中添加多个面板——我假设我将主页文档类型设置为允许内容面板作为子节点——然后需要一个宏来迭代子节点,并使用内容面板模板呈现每个节点

此外,我还希望客户端能够从每个页面添加和删除面板


有人能给我一个宏代码的例子吗?非常感谢任何帮助

如果您查看Blog4Umbraco包,您可以看到一个非常详细的示例,说明您正在尝试做什么。(不想在这里跳过整个宏)将每个“面板”看作一篇博客文章,看看XSLT/宏,它在一个屏幕上显示了最近的10篇博客文章,您可以很容易地将其调整为您正在做的事情。您将为“面板”创建doctype和模板,用户将为任意多个面板创建内容,XSLT的修改版本将循环遍历每个面板并在页面上显示信息

如果您愿意(和我一样),可以使用asp.net自定义控件轻松地完成相同的任务(特别是如果您对.net比XSLT更熟悉的话)

使用如下代码创建模板:(此示例适用于一个简单的博客控件):


如果您查看Blog4Umbraco包,您可以看到一个非常详细的示例,说明您正在尝试做什么。(不想在这里跳过整个宏)将每个“面板”看作一篇博客文章,看看XSLT/宏,它在一个屏幕上显示了最近的10篇博客文章,您可以很容易地将其调整为您正在做的事情。您将为“面板”创建doctype和模板,用户将为任意多个面板创建内容,XSLT的修改版本将循环遍历每个面板并在页面上显示信息

如果您愿意(和我一样),可以使用asp.net自定义控件轻松地完成相同的任务(特别是如果您对.net比XSLT更熟悉的话)

使用如下代码创建模板:(此示例适用于一个简单的博客控件):


EJB-非常感谢!我现在已经知道了如何使用XSLT实现这一点。然而,让我困惑的是,在我看到的所有示例中,模板元素似乎都是通过XSLT宏显式呈现的,这似乎使模板变得多余。另外,我使用的是v4.6.1,因此RenderTemplate方法不再可用。如何通过XSLT使用具有重复内容的模板?非常感谢!我现在已经知道了如何使用XSLT实现这一点。然而,让我困惑的是,在我看到的所有示例中,模板元素似乎都是通过XSLT宏显式呈现的,这似乎使模板变得多余。另外,我使用的是v4.6.1,因此RenderTemplate方法不再可用。如何通过XSLT使用具有重复内容的模板?谢谢
  <ItemTemplate>
    <div class="blogTitle"><a href="<%# DataBinder.Eval(Container.DataItem, "Url") %>"> <%# DataBinder.Eval(Container.DataItem, "NodeName") %> </a></div>
    <div class="blogDate">Post Date: <%# String.Format("{0:D}", Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "Post Date")))%></div>
    <div class="blogContent"><%# DataBinder.Eval(Container.DataItem, "Content") %></div>
  </ItemTemplate>
        //To get the nodes as a datatable so you can use it for DataBinding use this method
    var children = currentNode.ChildrenAsTable();

    rptPosts.DataSource = children;
    rptPosts.DataBind();