在 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
。
- 转到
Settings
> Document Types
> 单击 3 个点 > Create
。
- 将其命名为
Content Folder
。
- 作为图标 select 文件夹图标
- 添加一个新的 属性
Redirect
,别名 umbracoRedirect
,类型 Content Picker
- 保存更改
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 节点类型。
- 转到
Content Folder
属性 的结构选项卡
- 检查您希望在此文件夹下允许的 child 类型
- 保存更改
步骤 3
允许此文件夹位于您的根 Home
节点下。
- 转到您的
Home
根 属性 的结构选项卡
- 检查
ContentFolder
类型以允许作为 child
- 保存更改
步骤 4
添加文件夹结构并添加页面。
- 转到您的内容
- 在
Content Folder
类型的根节点下添加一个新文件夹
- 给它命名
HQ
- 在您的文件夹下允许添加名为
A
的新页面
- 在您的
HQ
中将 Redirect
属性 设为您的第一个 A
页面
- 对所有文件夹和页面执行此操作
- 保存更改并发布
就是这样!
另一种方法是使用自定义 URL 提供程序和内容查找器。在这里您可以创建一个新的提供程序来计算您网站上的 URL 页面,覆盖默认文件夹结构。
您可以添加自己的逻辑,从 URLS 中删除文件夹,这样 /folder/a/content 就可以变成 /folder/content。显然,您需要注意其他文件夹不包含同名项目,否则您可能会返回错误的内容。
URL 提供程序的优势在于,无论何时调用 Umbraco 方法来获取内容项的 URL,您总是会获得自定义的 URL。
内容查找器是网站将修改后的 URL 与原始内容相匹配的一种方式。您需要两者才能正常工作。
Here 是 link 一篇关于在 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
。
- 转到
Settings
>Document Types
> 单击 3 个点 >Create
。 - 将其命名为
Content Folder
。 - 作为图标 select 文件夹图标
- 添加一个新的 属性
Redirect
,别名umbracoRedirect
,类型Content Picker
- 保存更改
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 节点类型。
- 转到
Content Folder
属性 的结构选项卡
- 检查您希望在此文件夹下允许的 child 类型
- 保存更改
步骤 3
允许此文件夹位于您的根 Home
节点下。
- 转到您的
Home
根 属性 的结构选项卡
- 检查
ContentFolder
类型以允许作为 child - 保存更改
步骤 4
添加文件夹结构并添加页面。
- 转到您的内容
- 在
Content Folder
类型的根节点下添加一个新文件夹
- 给它命名
HQ
- 在您的文件夹下允许添加名为
A
的新页面 - 在您的
HQ
中将Redirect
属性 设为您的第一个A
页面 - 对所有文件夹和页面执行此操作
- 保存更改并发布
就是这样!
另一种方法是使用自定义 URL 提供程序和内容查找器。在这里您可以创建一个新的提供程序来计算您网站上的 URL 页面,覆盖默认文件夹结构。
您可以添加自己的逻辑,从 URLS 中删除文件夹,这样 /folder/a/content 就可以变成 /folder/content。显然,您需要注意其他文件夹不包含同名项目,否则您可能会返回错误的内容。
URL 提供程序的优势在于,无论何时调用 Umbraco 方法来获取内容项的 URL,您总是会获得自定义的 URL。
内容查找器是网站将修改后的 URL 与原始内容相匹配的一种方式。您需要两者才能正常工作。
Here 是 link 一篇关于在 Umbraco 站点中结合使用这两者的深入文章。