我正在使用 Umbraco,想知道是否有一种简单的方法来创建站点明智的设置节点。
目前我有这个树结构。
- 内容
- 首页
- 项目 1
- 项目 2
- 项目 2a
我想创建的是这样的
- 全站点内容
- 内容
- 首页
- 项目 1
- 项目 2
- 项目 2a
站点内容将包含诸如 Google Analytics Url 之类的内容,用户可以轻松更改。
有没有办法做到这一点?
最佳答案
编辑:请参阅底部以了解处理页面重定向和无模板节点导致的 404 错误的方法...
常见的节点结构可能看起来像这样,它允许站点特定的内容 - 这里的优点是所有站点内容都位于主节点下,用户无法在根节点中创建更多内容(前提是您已经设置了一些东西正确启动):
- 首页[包含设置选项卡]
- 第 1 页
- 第 2 页
- 联系我们
- 关于
根据站点范围设置信息的多少,您可以在主页 DocumentType 上创建一个“设置”选项卡并将其全部存储在那里(如上图所示);或使用设置节点创建树结构(如下图所示):
- 主页
- 第 1 页
- 第 2 页
- 联系我们
- 关于
- 设置[具有常规设置选项卡/属性]
- 电子邮件模板[例如存储代表邮件合并模板的其他节点]
或者,对于全局设置/内容(我可能有多个站点),我经常在根目录创建一个单独的节点结构以包含全局设置、电子邮件模板等:
- 首页
- 第 1 页
- 第 2 页
- 联系我们
- 关于
- 设置 [具有 GlobalSettings 选项卡/属性]
- 电子邮件模板[例如存储代表邮件合并模板的其他节点]
创建一个 Settings DocumentType 作为一个文件夹或容器,但不要给它一个模板,你所有的全局/站点范围的设置/数据内容都可以在它下面组织。
处理没有模板的节点
在没有为它们分配/创建模板的情况下创建的 DocumentType(例如树的基本级别的 Section 节点及其子节点)将在有人尝试访问它的 URL 时抛出 404 错误,并且因此应排除在网站呈现的任何导航之外。任何手动输入您希望在其中找到节点的 URL 的用户,例如/settings 将显示默认的 404 错误页面,因为它不存在。
有几种方法可以缓解这种情况:
使用别名
umbracoRedirect
并使用ContentPicker
数据类型向 DocumentType 添加一个属性;创建自定义 404 错误页面并设置 Umbraco 配置以使用该页面而不是默认页面。
如果您使用第一个选项,您可以设置您希望用户默认看到的页面 - 通常是主页。
如果您在 404 错误页面中有一些自定义逻辑(例如根据 URL 查找最接近的匹配页面),或者使用诸如 SEO Checker 之类的东西来为您处理 404 错误和重定向,那么第二个选项可能会更好。
通过简单地确保这些节点在网站中的 URL 根本不可见,可以减轻很多这种情况,这可以通过对导航结构(菜单、站点地图等)进行编码以排除它们来完成。
注意:我通常会确保它们也被任何 sitemap.xml 生成器排除,这样搜索引擎就不会尝试将它们编入索引。您也可以将它们添加到您的 robots.txt 文件中。
关于c# - Umbraco 站点范围的设置节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34890112/