【问题标题】:Grouping umbraco pages in folders without affecting URL在文件夹中分组 umbraco 页面而不影响 URL
【发布时间】:2018-08-20 16:31:26
【问题描述】:

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

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

【问题讨论】:

    标签: umbraco


    【解决方案1】:

    有两个答案,首先您可以在 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 工作,但我不确定它是否会有所帮助。

    【讨论】:

    • 谢谢,我知道我一直在尝试以稍微不同的方式来做。我试图避免每个页面的手动 umbracoUrlName。将它们放在根目录中的文件夹中看起来是一个很好的解决方案。
    • HTH 我发现的一个很好的模式是使用此设置将所有内容放在主节点下 - 然后您可以在内容中进行不可见页面内容管理(例如 pod 维护)树。
    • 我在数据类型中找不到 UmbracoUrlName,我使用的是 umbraco 6.1.5 吗?这个版本有什么问题吗?
    • 这帮助我解决了新站点设置中的奇怪问题,即子项目没有继承父文件夹名称作为其 URL 的一部分 - 结果 umbracoHideTopLevelNodeFromPath 默认设置为 true!谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    相关资源
    最近更新 更多