【问题标题】:Create Folder Structure to Organize Content in Umbraco创建文件夹结构以在 Umbraco 中组织内容
【发布时间】:2015-07-21 19:57:30
【问题描述】:

我在 Umbraco 的内容部分有很多页面,但我想组织一些页面以供部门参考,不一定用于分层站点参考。例如,我的页面可能是网站上的 A、B、C、D ... Z,但在后端,我们有不同的团队需要将他们的内容组合在一起。即 Team 1 文件夹中有 A-G。 Team 2 文件夹有 H-Q。第 3 队有 R-Z。怎样才能做到这一点,而不是看到内容页面根目录上的所有内容,我只看到这 3 个团队文件夹?

【问题讨论】:

    标签: asp.net content-management-system umbraco umbraco7


    【解决方案1】:

    你必须小心实现这一点。当您在 Home 根节点下创建新节点时,例如新页面或文件夹,它们会被一个 url 引用。

    因此,如果您有一个名为 A 的页面,则将使用 URL http://www.example.com/a 访问该页面。当您创建文件夹来组织页面并将页面A 放在HQ 下时,http://www.example.com/hq/a 现在将访问您的页面。

    之后,您可以使用 url 重写规则来避免在您的 url 中显示这些文件夹指示,但如果您有很多页面,那将会搞砸。

    如果您不想在您的 url 中看到这些文件夹指示,我会建议您将所有节点添加到您的 Home 节点下,并使用 Permission 来允许/禁止部门访问节点。

    如果您不关心 url 中的文件夹指示,请告诉我,然后我将使用解决方案编辑此答案以实现此目的。

    编辑

    如何在内容节点中添加文件夹结构。

    第一步

    创建一个名为Content Folder 的新Document Type

    1. 转到Settings > Document Types > 点击三个点 > Create
    2. 将其命名为 Content Folder
    3. 作为图标选择文件夹图标
    4. 添加一个新属性Redirect,别名为umbracoRedirect,类型为Content Picker
    5. 保存更改

    内置属性umbracoRedirect用于将一个节点重定向到 另一个使用它的 id。因此,对于每个文件夹,将此属性设置为第一个子页面。

    第 2 步

    在此文件夹中允许您的子节点类型。

    1. 转到Content Folder 属性的结构选项卡
    2. 检查您希望在此文件夹下允许的子类型
    3. 保存更改

    第三步

    在您的根 Home 节点下允许此文件夹。

    1. 转到 Home 根属性的结构选项卡
    2. 检查ContentFoldertype 以允许作为孩子
    3. 保存更改

    第四步

    添加文件夹结构并添加页面。

    1. 转到您的内容
    2. 在您的根节点下添加一个Content Folder 类型的新文件夹
    3. 给它命名HQ
    4. 在您的文件夹下添加一个名为 A 的新页面
    5. 在您的HQ 中,将Redirect 属性设置为您的第一个A 页面
    6. 对所有文件夹和页面执行此操作
    7. 保存更改并发布

    就是这样!

    【讨论】:

    • 我可以看到文件夹名称。我怎样才能做到这一点。
    • 这很好用。当我实施此解决方案时,文件夹名称不会显示在我的 URL 中,这很有趣。知道为什么会这样。
    【解决方案2】:

    另一种方法是使用自定义 URL Provider 和 Content Finder。在这里,您可以创建一个新的提供程序来计算您网站上页面的 URL,覆盖默认文件夹结构。

    您可以添加自己的逻辑,从 URL 中删除文件夹,这样 /folder/a/content 就可以变成 /folder/content。显然,您需要注意其他文件夹不包含具有相同名称的项目,否则您可能会返回错误的内容。

    URL Provider 的优势在于,每当您调用 Umbraco 方法来获取内容项的 URL 时,您总是会获取自定义 URL。

    内容查找器是网站将修改后的 URL 匹配回原始内容的一种方式。两者都需要它才能工作。

    Here 是一篇关于在 Umbraco 网站中结合使用这两者的深入文章的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多