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