5

我们的一个 Umbraco 网站变得有点混乱,我想知道是否有一种方法可以在不影响 URL 的情况下将文件夹中的页面分组。例如,如果在主页下我有一些顶级部分、一些页脚链接和各种其他系统页面。我想将页脚页面分组到页脚文件夹中,将系统页面分组到系统文件夹中,但我不希望所有 URL 都变成 /footer/page1、system/contact 等。

有没有一种很好的方法可以做到这一点,也许是 umbracoUrlName?

4

1 回答 1

11

有两个答案,首先您可以在 web.config 中打开“隐藏根文件夹”选项 - 然后您可以在根目录中拥有任意数量的文件夹 - 无需它们构成 url 的一部分。

umbracoHideTopLevelNodeFromPath 导致从任何 url 路径中排除顶级内容项。例如,这是预设为 True,所以:

[内容]首页 = /home.aspx 或 /home/

[内容]Home\Projects = /projects.aspx 或 /projects/

[内容]页脚\Page1 = /page1.aspx 或 /page1/

[内容]Home\Projects\About = /projects/about.aspx 或 /projects/about/

http://our.umbraco.org/wiki/reference/webconfig

其次,每个 umbraco 节点上都有四个“隐藏”重定向字段(您可以将其添加到文档类型中),它们可以更改 url 路由:

  • umbracoRedirect (内容选择器) - Umbraco 将重定向到选择的页面
  • umbracoInternalRedirectId(内容选择器) - Umbraco 将加载选择的页面而不更改 url
  • umbracoUrlName (textstring) - Umbraco 将覆盖页面的默认 url
  • umbracoUrlAlias (textstring) - 同一个页面可以有多个 url(不确定什么时候有用)

所以我猜在你的场景中 umbracoUrlName 会在你的组合文件夹中挑选一个页面,但是你选择一个 url。

所以你有了

homepage 
|- footer
   |-page1 (umbracoUrl = "/footer-page1/")

/footer-page1/ 将呈现存储在页脚文件夹中的页面。

你也可以破解一些东西并使 umbracoRedirect 和 umbracoInternalRedirectId 工作,但我不确定它是否会有所帮助。

于 2013-05-12T19:01:03.950 回答