2013-05-15 141 views
1

我想仅在用户向特定子域发出请求时才显示草稿版本。这个想法是,当向“www.mysite.com”域发出请求时,我们会显示已发布的文档版本,但是当向“wip.mysite.com”子域请求时,我们仅显示草稿版本整个网站的文件。我需要利用Orchard CMS的可扩展性点来开展这项工作?Orchard CMS仅显示草稿

回答

1

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

正常项目通过Orchard.Core.Contents.Controllers.ItemController显示,容器从Orchard.Core.Containers.Controllers.ItemController和小部件从Orchard.Widgets.Filters.WidgetFilter显示。您可以创建自己的控制器来获取草稿并将请求重定向到他们,也可以覆盖Orchard.Widgets.Services.WidgetsService来获取草稿小部件。

这就是说你可能不想这样做:-)。也许你对this issue中的解释感兴趣?

+0

是的,您建议的网站预览功能将很好地工作,正是我所需要的。我希望我现在可以拥有该功能。 – user1888320

+0

是的,那样会很棒。 – Piedone

+0

现在我想我将不得不创建自己的项目控制器,并根据Cookie设置重新路由请求到他们,以确定要显示的版本文档。我需要创建一个管理界面来设置cookie值。 – user1888320