2013-05-15 186 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