2014-01-15 84 views
3

我想在Visual Studio中爲Sitecore中的多個站點設置多站點設置。我希望所有網站都有獨立的Layouts/sublayouts/ascx和代碼。另外我想爲每個網站單獨配置文件,以便它可以很容易地更新個別網站。我沒有從網上找到任何適當的文件。在visual studio 2012中設置sitecore多站點

任何幫助

+2

Sitecore實例共享相同的代碼庫並因此配置。您可以將它們部署到磁盤/ iis實例上的不同位置,但**您需要檢查您的許可。 – jammykam

+0

你能推薦任何用例或任何文檔 – Sam

+1

我應該添加,爲每個站點分開的Layouts/sublayouts/ascx和代碼不是問題,通常你會把它們放在單獨的文件夾和樹結構中。閱讀http://learnsitecore.cmsuniverse.net/Developers/Articles/2009/10/how-to-multisite-in-sitecore.aspx – jammykam

回答

4

這是我做的儘可能Sitecore的和Visual Studio結構變爲:

1)您在Sitecore的內容中創建的網站子文件,佈局,模板和媒體庫文件夾。

enter image description here

2)在磁盤上的網站根目錄下創建子文件。爲Layouts/View文件夾執行此操作,而對於客戶端包含(css/js)執行此操作。
所以,你會得到一個結構是這樣的:

enter image description here

3)爲每個網站建立一個獨立的Web應用程序項目,並將Web根目錄內的.csproj文件。
然後爲每個項目包含必需的文件夾(因此Include1/Site1,Views/Site1文件夾包含在Site1的項目中,等等)。

enter image description here

4)配置是有點棘手,因爲你將永遠與所有的網站實例共享一個Sitecore的配置。
但我的設置做的是網站的名稱前綴他們,就像這樣:

<setting name="Site1.MySetting" value="MyValue" /> 

然後你可以把那個在/App_Config/Include文件夾單獨的配置文件。
這會給你至少一些網站配置的分離。

我會創造了Include文件夾中的至少一個子文件夾ensure your custom configuration is included as last

5)我通常還加一個「網站」項目,稱爲Global包含在實例之間共享的一切。
這將主要包含Sitecore和VS項目中的模板,它包含對/sitecore文件,global.asax,web.configApp_Config文件的引用。

當然有很多因素要考慮,但這些都是建立解決方案的基礎。

+0

感謝您的詳細解答。對於非MVC網站,結構會相同,因爲我可以在這裏看到您使用的是MVC。 – Sam

+0

是的,非MVC完全一樣。但是,您將使用/ Layouts和/ Sublayouts文件夾而不是/ Views文件夾。如果您喜歡答案,請不要害怕投票/接受;-) –

+1

對於'/ App_Config/Include'中的配置文件,您可以按照自己的建議將它們放在單獨的(項目特定的)文件夾下包含: )真的很好,詳細的答案 – jammykam

1

我想這應該是你正在尋找的文檔:

http://sdn.sitecore.net/Articles/Administration/Configuring%20Multiple%20Sites.aspx

這裏是一個偉大的博客我讀過:

http://www.sitecore.net/Community/Best-Practice-Blogs/Topics/Multisite-Management.aspx

我爲多個網站設置了多個解決方案文件。
一個建議是也將App_Config,web.config和bin庫移動到解決方案幫助中。
設置Sitecore Rocks也將是一個偉大的資產。

編輯:更多信息

刺蝟發展對Sitecore的一個驚人的插件,以及所謂的團隊開發Sitecore的(TDS)。你可以在這裏查看。

我點我的解決方案在:\的Inetpub \ wwwroot的\ Sitecore的\網站

在我的解決方案的根:

  1. APP_CONFIG文件夾它保存我的連接字符串配置和Lucene配置。
  2. 包含我的應用程序特定dll的Libraries文件夾。
  3. 站點文件夾,其中包含站點和所有相應的子佈局。網站包含多個網站,所有網站都包含至少css,圖片,佈局,服務,腳本和子佈局。
  4. 服務器的web.config與web.debug和web.release。

所有這一切都被檢入帶有構建服務器等的Team Foundation Server中。

+0

感謝您的回覆。我知道如何從Sitecore Side設置多站點。但我主要是在尋找Visual Studio的設置。 – Sam

+0

@Sam查看我的編輯。 –

1

對於佈局和子佈局,您可以像使用Rudd van Failer在VS中向我們展示的那樣將它們分開,使用名稱與您的網站類似的目錄(並將sitecore中的佈局/子佈局指向適當的位置)。 即 sublayout file

有關配置您的網站在VS,你所有的站點配置添加到(包含自己SiteDefinition.config指向每個站點的適當位置Sitecore的或設置單獨的項目)的SiteDefinition.config。即

<sites> 
    <site name="site1" patch:before="site[@name='website']" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/" startItem="/site1/home page" /> 
    <site name="site2" patch:before="site[@name='website']" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/" startItem="/site2/home page" /> 
</sites>