Orchardcms 只显示草稿

Orchardcms 只显示草稿,orchardcms,orchardcms-1.6,Orchardcms,Orchardcms 1.6,当用户向特定子域发出请求时,我只想显示文档的草稿版本。我们的想法是,当向“www.mysite.com”域发出请求时,我们会显示文档的发布版本,但当向“wip.mysite.com”子域发出请求时,我们只会在整个站点中显示文档的草稿版本。我需要利用Orchard CMS中的哪些扩展点来实现这一点?这很棘手,因为默认情况下Orchard的ContentManager服务返回已发布的项目。现在,无论什么地方显示内容项(当打开页面或显示小部件时),都会使用默认行为:这就是为什么您只看到已发布的项 正常

当用户向特定子域发出请求时,我只想显示文档的草稿版本。我们的想法是,当向“www.mysite.com”域发出请求时,我们会显示文档的发布版本,但当向“wip.mysite.com”子域发出请求时,我们只会在整个站点中显示文档的草稿版本。我需要利用Orchard CMS中的哪些扩展点来实现这一点?

这很棘手,因为默认情况下Orchard的ContentManager服务返回已发布的项目。现在,无论什么地方显示内容项(当打开页面或显示小部件时),都会使用默认行为:这就是为什么您只看到已发布的项

正常项目由
Orchard.Core.Contents.Controllers.ItemController
、来自
Orchard.Core.containers.Controllers.ItemController
的容器和来自
Orchard.widgets.Filters.WidgetFilter
的小部件显示。您可以创建自己的控制器来获取草稿并将请求重新路由到它们,还可以覆盖
Orchard.Widgets.Services.WidgetsService
来获取草稿小部件


也就是说,您可能不想这样做:-)。也许您对?

中解释的内容感兴趣,这很棘手,因为默认情况下,Orchard的ContentManager服务会返回已发布的项目。现在,无论什么地方显示内容项(当打开页面或显示小部件时),都会使用默认行为:这就是为什么您只看到已发布的项

正常项目由
Orchard.Core.Contents.Controllers.ItemController
、来自
Orchard.Core.containers.Controllers.ItemController
的容器和来自
Orchard.widgets.Filters.WidgetFilter
的小部件显示。您可以创建自己的控制器来获取草稿并将请求重新路由到它们,还可以覆盖
Orchard.Widgets.Services.WidgetsService
来获取草稿小部件


也就是说,您可能不想这样做:-)。也许您对中解释的内容感兴趣?

是的,您建议的站点预览功能将很好地工作,这正是我需要的。我希望我现在能拥有这个功能。是的,拥有它真的很棒。现在我想我必须创建我自己的项目控制器,并根据cookie设置将请求重新路由到它们,以确定要显示的文档版本。我需要创建一个管理员界面来设置cookie值。是的,很遗憾。BlogController是显示博客的附加入口点,因此您也应该覆盖该入口点或BlogService。关于如何处理别名路由而不影响需要由默认Orchard路由处理的路由,有什么建议吗?现在,我的解决方案拦截所有路由,包括管理页面路由。我不知道如何处理只有别名的普通内容视图路由,而不影响管理、编辑和其他路由。别名很难建立路由模式。是的,你建议的站点预览功能会很好地工作,这正是我需要的。我希望我现在能拥有这个功能。是的,拥有它真的很棒。现在我想我必须创建我自己的项目控制器,并根据cookie设置将请求重新路由到它们,以确定要显示的文档版本。我需要创建一个管理员界面来设置cookie值。是的,很遗憾。BlogController是显示博客的附加入口点,因此您也应该覆盖该入口点或BlogService。关于如何处理别名路由而不影响需要由默认Orchard路由处理的路由,有什么建议吗?现在,我的解决方案拦截所有路由,包括管理页面路由。我不知道如何处理只有别名的普通内容视图路由,而不影响管理、编辑和其他路由。别名使建立路由模式变得困难。