在 Umbraco 中创建文件夹结构来组织内容

Create Folder Structure to Organize Content in Umbraco

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

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

进行引用

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

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

如果您不想在 url 中看到这些文件夹指示,我会建议您只添加 Home 节点下的所有节点并使用 Permission 到 allow/disallow部门到节点。

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

编辑

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

步骤 1

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

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

The builtin property umbracoRedirect is used to redirect one node to another using its id. So for each folder set this property to the first child page.

步骤 2

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

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

步骤 3

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

  1. 转到您的 Home 根 属性
  2. 的结构选项卡
  3. 检查 ContentFolder 类型以允许作为 child
  4. 保存更改

步骤 4

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

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

就是这样!

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

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

URL 提供程序的优势在于,无论何时调用 Umbraco 方法来获取内容项的 URL,您总是会获得自定义的 URL。

内容查找器是网站将修改后的 URL 与原始内容相匹配的一种方式。您需要两者才能正常工作。

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