如何使没有 CommonPart 的内容项出现在内容列表中?
How can I make Content Items without a CommonPart appear in the content list?
我创建了一个附加了 UserPart
的自定义类型。
根据 this issue on GitHub,您不能将 CommonPart
添加到也具有 UserPart
的内容,因为它会导致 WhosebugException
,但我仍然想要我的自定义类型显示在内容列表中。我已经将 CreatedUtc 和 PublishedUtc 存储在自定义 PartRecord 中,我可以手动将它们插入某个地方吗?
编辑:为澄清起见,我的具体情况是我正在构建一个 public 面向 Orchard 的网站,该网站基于到目前为止在私有应用程序中使用的现有数据。我有一个遗留 table 用户帐户需要映射到 Orchard 用户,但它们也代表旅行社,访问者应该能够浏览并且 Orchard 管理员应该能够通过仪表板轻松编辑和创建。我想到用 Sipke's webshop tutorial
中的 UserPart 创建一个 TravelAgency 类型
内容类型不需要 CommonPart 即可显示在内容列表中。如果我没记错的话,它是通过在您的迁移中触发 Creatable() 来完成的。
此外,如果您有一个 UserPart,您可以延迟加载或仅通过外键引用它。
为什么您希望这样的内容成为内容列表的一部分?我通常将特定于业务的内容类型隐藏在一个不错的部分中,以便用户更容易可视化和使用。
肯定存在错误,但正如他们评论的那样,您可以扩展分类法来完成您的任务,请记住有时更改 Orchard 代码库可能适合您的目的,您只需在下次升级时跟踪您的更改.我已经做过几次以适应我的项目。
如果我没记错的话,已经有一段时间了。如果您查看创建内容列表的核心代码,它会查找 Creatable() 类型。在代码中挖掘更多,负责的查询很可能会加入 CommonPart,因此您的问题。您可以轻松地在控制器中添加另一个查询并添加您想要的任何内容。不过,问题在于重构其余操作以适应您的类型。更容易隔离你的新类型。不得不给你看看,看看这个宝贝:Orchard.Core.Contents.Controllers.AdminController
我创建了一个附加了 UserPart
的自定义类型。
根据 this issue on GitHub,您不能将 CommonPart
添加到也具有 UserPart
的内容,因为它会导致 WhosebugException
,但我仍然想要我的自定义类型显示在内容列表中。我已经将 CreatedUtc 和 PublishedUtc 存储在自定义 PartRecord 中,我可以手动将它们插入某个地方吗?
编辑:为澄清起见,我的具体情况是我正在构建一个 public 面向 Orchard 的网站,该网站基于到目前为止在私有应用程序中使用的现有数据。我有一个遗留 table 用户帐户需要映射到 Orchard 用户,但它们也代表旅行社,访问者应该能够浏览并且 Orchard 管理员应该能够通过仪表板轻松编辑和创建。我想到用 Sipke's webshop tutorial
中的 UserPart 创建一个 TravelAgency 类型内容类型不需要 CommonPart 即可显示在内容列表中。如果我没记错的话,它是通过在您的迁移中触发 Creatable() 来完成的。 此外,如果您有一个 UserPart,您可以延迟加载或仅通过外键引用它。
为什么您希望这样的内容成为内容列表的一部分?我通常将特定于业务的内容类型隐藏在一个不错的部分中,以便用户更容易可视化和使用。
肯定存在错误,但正如他们评论的那样,您可以扩展分类法来完成您的任务,请记住有时更改 Orchard 代码库可能适合您的目的,您只需在下次升级时跟踪您的更改.我已经做过几次以适应我的项目。
如果我没记错的话,已经有一段时间了。如果您查看创建内容列表的核心代码,它会查找 Creatable() 类型。在代码中挖掘更多,负责的查询很可能会加入 CommonPart,因此您的问题。您可以轻松地在控制器中添加另一个查询并添加您想要的任何内容。不过,问题在于重构其余操作以适应您的类型。更容易隔离你的新类型。不得不给你看看,看看这个宝贝:Orchard.Core.Contents.Controllers.AdminController