我们的一个Umbraco网站有点乱,我想知道是否有一种方法可以在不影响URL的情况下将页面分组到文件夹中。例如,如果在主页下面,我有一些顶级部分,一些页脚链接和各种其他系统页面。我想分组页脚页在一个页脚文件夹,系统页在一个系统文件夹,但我不希望所有的url变成/footer/page1, system/contact等。
是否有一个很好的方法来做到这一点,也许与umbracoUrlName的东西?
有两个答案,首先你可以在web中打开"隐藏根文件夹"选项。配置-然后你可以在根目录下有尽可能多的文件夹-而不需要它们成为url的一部分。
http://our.umbraco.org/wiki/reference/webconfigumbracoHideTopLevelNodeFromPath导致顶层内容项被排除在任何url路径之外。例如,这被预先设置为True,所以:
[Content]Home =/Home。或/home/
[内容]HomeProjects =/Projects。Aspx或/projects/
[内容]页脚Page1 =/Page1。Aspx或/page1/
[内容]HomeProjectsAbout =/Projects/About。/projects/about/
其次,在每个umbraco节点上都有四个"隐藏的"重定向字段(可以添加到文档类型中),可以改变url路由:
- umbracoRedirect(内容选择器)- Umbraco将重定向到选择的页面
- umbracoInternalRedirectId(内容选择器)- Umbraco将加载选中的页面而不更改url
- umbracoUrlName (textstring) - Umbraco将覆盖页面的默认url
- umbracoUrlAlias (textstring) -你可以有几个url为同一个页面(不确定这是有用的时候)
所以我猜在你的场景中,umbracoUrlName会在你的组合文件夹中挑出一个页面,但有一个你选择的url。
所以你有
homepage
|- footer
|-page1 (umbracoUrl = "/footer-page1/")
和/footer-page1/将呈现存储在footer文件夹中的页面。
你也可以hack一些东西,让umbracoRedirect &umbracoInternalRedirectId工作,但我不确定它会有帮助。