Umbraco站点设置节点

时间:2016-01-20 01:43:13

标签: c# asp.net-mvc model-view-controller umbraco umbraco7

我正在与Umbraco合作,并想知道是否有一种简单的方法来创建站点明智的设置节点。

目前我有这种树形结构。

  • 内容
    • 主页
    • 第1项
    • 第2项
      • 项目2a

我想创建的是这样的

  • 网站内容
  • 内容
    • 主页
    • 第1项
    • 第2项
      • 项目2a

网站范围内容将包含类似Google Analytics Url的内容,用户可以轻松更改。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:5)

编辑:有关处理页面重定向的方法和无模板节点导致的404错误,请参阅底部...

公共节点结构可能看起来像这样允许特定于站点的内容 - 这里的优点是所有站点内容都驻留在主节点下,并且用户无法在根目录中创建更多内容(前提是您已经设置了内容)正确):

  • 主页 [包含设置标签]
    • Page 1
    • Page 2
    • 联系我们
    • 关于

根据网站范围设置信息的数量,您可以在Home DocumentType上创建“设置”选项卡并将其全部存储在那里(如上图所示);或使用Settings节点创建树结构(如下图所示):

  • 主页
    • Page 1
    • Page 2
    • 联系我们
    • 关于
    • 设置 [包含常规设置标签/属性]
      • 电子邮件模板 [存储代表邮件合并模板的其他节点]

或者,对于全局设置/内容(我可能有多个站点),我经常在根目录创建一个单独的节点结构,以包含全局设置,电子邮件模板等:

  • 主页
    • Page 1
    • Page 2
    • 联系我们
    • 关于
  • 设置 [具有GlobalSettings标签/属性]
    • 电子邮件模板 [存储代表邮件合并模板的其他节点]

创建一个设置DocumentType以充当文件夹或容器,但不要为其提供模板,并且可以在其下组织所有全局/站点范围的设置/数据内容。

处理没有模板的节点

在没有为它们分配/创建模板的情况下创建的DocumentTypes(如在树的基本级别的节节点及其子节点的情况下)将在有人试图访问它的URL时抛出404错误,并且因此应该从网站上提供的任何导航中排除。任何用户手动输入您希望在其中找到节点的URL,例如 / settings 将显示默认的404错误页面,因为它不存在。

有几种方法可以缓解这种情况:

  1. 使用别名umbracoRedirect并使用ContentPicker数据类型添加属性到DocumentType;

  2. 创建自定义404错误页面并设置Umbraco配置以使用它而不是默认值。

  3. 如果您使用第一个选项,则可以设置您希望用户默认查看的页面 - 通常是主页。

    如果您在404错误页面中有一些自定义逻辑(例如,根据URL查找最接近的匹配页面),或者使用SEO Checker之类的东西来处理404错误并重定向,那么第二个选项可能会很好。

    通过简单地确保通过网站中的URL看不到这些节点,可以减轻很多这种情况,这可以通过对导航结构(菜单,站点地图等)进行编码来排除它们。 / p>

    注意:我通常会确保它们也被任何sitemap.xml生成器排除,以便搜索引擎不会尝试索引它们。您也可以将它们添加到robots.txt文件中。