2016-03-11 36 views
1

在Sitecore 7 MVC中,我的理解是部分視圖通過在.cshtml文件中使用剃刀聲明來表示,例如@Html.Sitecore.Placeholder("some_thing")@ Html.Sitecore.Placeholder()指向什麼?

在這種情況下,"some_thing"部件實際上代表什麼 - 它位於Sitecore實例中?如果是這樣,我怎麼能找到"some_thing"代表Sitecore數據庫內的東西?

回答

4

@Html.Sitecore().Placeholder("some_thing")通常是在佈局網頁如您DefaultLayout頁面。像馬立克說,這是你把組件的地方。如果你登錄到Sitecore的,並考慮在一個頁面,演示選項卡下,有一個圖標說Detail,點擊它會彈出一個彈出窗口(我認爲它仍然在版本7中,我沒有運行一個實例,在彈出窗口中,選擇一個組件或者添加一個新組件到默認佈局在組件的設置中將是一個名爲佔位符的字段。把文字「some_thing」放在那裏,不用引號。我想這就是你問這是佔位符代表什麼。

+0

明白了 - 所以它指向組件的演示細節。謝謝! – alex

6

以最短的方式:Sitecore Placeholder是一個可以添加組件的地方。

some_thing in @Html.Sitecore.Placeholder("some_thing")是佔位符的名稱。

您的頁面上可以有多個佔位符。當您將組件添加到一個頁面,你告訴Sitecore的「將在佔位符some_thing,這就是Sitecore的是如何知道在哪裏把它。

閱讀Presentation Component Reference瞭解更多信息(是這個文件是歲,但這個想法仍然是相同)。

+0

謝謝Marek - 爲此找到合適的SDN文檔非常困難。我的問題的另一部分是,如果''some_thing''引用MVC視圖(我認爲Sitecore術語是「視圖渲染」?),那麼我可以在哪裏找出這個映射是如何定義的? (或者僅僅是按照慣例?''some_thing''總是映射到'some_thing.cshtml'文件嗎?) – alex

+1

在你的情況中,編號'some_thing'是佔位符的名稱(正如我上面所寫的那樣)。它與任何渲染無關。如果您有任何組件(無論是視圖渲染,控制器渲染還是任何其他組件類型),則可以將其放置在佔位符內。佔位符的名稱允許Sitecore將渲染放置在頁面上的正確位置。 –