Asp.net
Orchard - 從主題佈局中獲取內容的標題
以這種速度,這會讓我發瘋。從 Orchard 主題的 Layout.cshtml 文件內部,如何確定主體內容的標題?
我嘗試過使用 Shape Tracer,但似乎沒有幫助。這些都沒有給我任何文字。
@Html.Title() @Model.Title @Model.Content.Parts_Common_Body.ContentItem.TitlePart @Model.ContentItem.Parts_Common_Body.ContentItem.TitlePart更新: 這裡的 HTML 應該顯示最終結果需要是什麼樣子才能保持主題完整,以及在我開始使用它之前顯示主題的圖片。這個 HTML 只是我關心的部分的一個片段。在圖片中,搜尋的是 ContentHeader 區域中的內容。
<div id="wrapper-header-inner"> <div id="header-inner"> @Zone(Model.ContentHeader) <h1 class="pagetitle"> Title Here </h1> </div><!-- #header-inner --> </div><!-- #wrapper-header-inner --> } <div id="wrapper-content"> <div id="content"> @if(Model.Content != null) { <div class="main" class="@mainContentClass"> @if(Model.Content != null && Model.LeftAside == null && Model.RightAside == null) { <div id="maincontentFull" class="positionleft"> @Zone(Model.Content) </div> } @* Other layout possabilities if left and/or right asides are present *@ </div> } </div> </div>
作為跟進,自從我提出這個問題以來,Orchard 的更新包括使用placement.info 文件將某些部分重新路由到其他區域的能力,實際上讓我完成了我正在尋找的事情。
<Placement> <Match ContentType="Page"> <Place Parts_Title="/TitleZone"/> </Match> </Placement>
在 Layout 中,Model 是 Layout 對象。它與將要呈現到內容區域的任何內容無關,但它確實具有應該由該內容設置的 Title 屬性。不過,這並不完全是您所要求的:它最終將成為 HTML 標題。
如果您想獲得呈現到頂級內容區域的項目的標題,那麼,佈局確實不是尋找它的好地方。我需要更多地了解您到底想要實現什麼,但這似乎倒退了。事實上,您甚至不能假設只有一個這樣的內容項,或者只有一個。
那麼你到底想要做什麼呢?
