2011-07-21 80 views
1

我目前正試圖更多地瞭解Orchard如何處理自定義內容類型列表,並且遇到了一些問題。自定義果園中的可容忍內容CMS

我創建了一個名爲故事內容類型,它具有以下幾個部分:

  • 身體
  • 常見
  • 中可容納
  • 路線

我創建了一個擁有這些項目的列表,以及所有我試圖做的就是以這樣的方式他們的風格:

Story Title 
Story Description (Basically a truncated version of the body?) 

不過,我似乎無法弄清楚如何做到以下幾點:

  1. 拿到冠軍,以實際出現目前出現的所有是身體和更鏈路
  2. 刪除「更多」鏈接並改變這是實際的標題

我特地到改變Placement.info,並且到處都找過,企圖尋找到「多「鏈接被添加到每個項目中。任何幫助將不勝感激。

回答

2

或者您可以使用在您的主題placement.info文件分配不同領域的總結和詳細的意見。它非常簡單。

http://orchardproject.net/docs/Understanding-placement-info.ashx

但是,我用你做了,直到我發現了.info文件,以及同樣的方法。它的工作原理並使您很好地理解系統的工作原理,但placement.info文件似乎更容易。

另外,您可能不希望編輯Core中的視圖文件。我想你的意思是覆蓋你主題目錄中的視圖。

+0

右鍵 - 我最終在覆蓋和使用替代視圖方面閱讀了更多內容,所以我稍微改了幾件。我曾多次查看Placement.info文件的操作,因爲我在其他方面對其進行了更改。我會再補充一點,我只是想找一個簡單的方法來徹底重新整理一個區域。儘管丹尼爾感謝:) –

3

我終於弄明白 - 多虧了Designer Tools Module,這使得它非常簡單,去看看在頁生成過程是怎麼回事幕後。

基本上 - 所有這一切都需要做的是對Parts.Common.Body.Summary.cshtml文件做一些小的修改。 (通過../Core/Common/Views/發現)

最初類似於以下內容:由作出一些改變(通過使用設計工具)

@{  

[~.ContentItem] contentItem = Model.ContentPart.ContentItem; 
string bodyHtml = Model.Html.ToString(); 
var body = new HtmlString(Html.Excerpt(bodyHtml, 200).ToString() 
       .Replace(Environment.NewLine,"</p>"+Environment.NewLine+"<p>")); 

} 

<p>@body @Html.ItemDisplayLink(T("more").ToString(), contentItem)</p> 

但是我把它變成了如下:

@{ 

[~.ContentItem] contentItem = Model.ContentPart.ContentItem; 
string bodyHtml = Model.Html.ToString(); 
string title = Model.ContentPart.ContentItem.RoutePart.Title; 
string summary = Html.Excerpt(bodyHtml, 100) + "..."; 

} 

<div class='story'> 
    <p> 
    @Html.ItemDisplayLink(title, contentItem) 
    </p> 
    <summary> 
    @summary 
    </summary> 
</div> 

雖然它可以很容易地縮短一點 - 它確實使樣式更容易處理。不管怎麼說 - 我希望這有助於:)

相關問題