模板之间的共享内容

时间:2015-06-18 07:19:52

标签: umbraco umbraco7

我想在模板之间共享内容(基本上是html块)。

例如,假设我有一个带有图形或两个图形的公共页脚部分,文本和指向“关于我们”的链接,“联系我们”等等。 我有不同的页面布局模板,但它们都需要这个页脚。 到目前为止,我可以想到三种方式:

  1. 嵌套模板:即拥有一个具有页脚内容的主模板,然后是每个布局的子模板,然后是实际的页面模板,但如果某些页面需要不同的页脚,这可能会变得棘手
  2. 使用部分视图保存页脚内容并使用@ Html.Partial()拉入各种模板的局部视图
  3. 使用页脚内容创建设置文档,并使用Umbraco.Content()获取页脚属性
  4. 这些是推荐过程中的任何一个(并且有任何缺陷吗?)或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我通常会做以下其中一项:

  • 在页面主页上添加属性链接等(在单独的标签中)并将值拉入页脚部分,这样您只需将其设置一次,而不是将其设置在每个页面上
  • 让“网站设置”节点与主页位于同一级别,并将值从那里拉入页脚部分

这似乎是我工作过的大多数Umbraco网站的标准。我不会在每个页面上拥有所有属性,除非您出于某种原因需要每页都有一个独特的页脚。

例如,假设您添加一个名为"页脚设置"的标签。使用带有别名" copyRightNotice"的单个字符串属性到主页DocType然后你想在局部显示,你的部分可能看起来像:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
    var rootPage = Model.Content.AncestorOrSelf(1);
    <h3>@rootPage.GetPropertyValue("copyRightNotice")</h3>

}