2011-07-18 93 views
7

我想要一個可以顯示最近博客文章列表的右側欄的簡單小工具。如何顯示Orchard中的博客文章列表?

有沒有一種簡單的方法來做到這一點,而不是創建我自己的小部件?我搜索了一個畫廊,但無法找到一個。

有人能指出我正確的方向嗎?

編輯:[SOLUTION]

首先我添加了最近的博客帖子小部件。然後我創建了一個文件Parts.Blogs.recentBlogPosts.cshtml,並將其放置在我的主題的Views目錄下。下面是該文件的內容(取自這裏:http://weblogs.asp.net/bleroy/archive/2011/03/27/taking-over-list-rendering-in-orchard.aspx

@using Orchard.ContentManagement; 
@{ 
    IEnumerable<object> blogPosts = 
     Model.ContentItems.ContentItems; 
} 
@if (blogPosts == null || blogPosts.Count() < 1) { 
    <p>@T("No posts.")</p> 
} 
else { 
    <ul class="content-items"> 
    @foreach (dynamic post in blogPosts) { 
     string title = post.Title; 
     ContentItem item = post.ContentItem; 
     <li class="content-item-summary"> 
      @Html.ItemDisplayLink(title, item) 
     </li> 
    } 
    </ul> 
} 
+0

它幫了我很多,謝謝 –

+0

感謝您的詳細解決方案。 – awrigley

+0

不錯!我需要以一種簡短的,可識別語言環境的方式顯示已發佈的日期以及帖子正文的摘要。 (默認的博客文章小部件是好的,但我的客戶不喜歡日期格式...)謝謝。 – pomarc

回答

4

我看果園1.2,有一個「最近的博客文章的Widget」提供給你 - 所有你需要做的就是將其添加到你喜歡的圖層/區域。

+0

當我添加該小部件時,它給了我完整的博客視圖。標題,內容等。我想要一個鏈接列表,有點像wordpress的工作方式。 – joelnet

+0

您應該可以覆蓋主題中的博客文章列表視圖。創建一個名爲Views/Orchard.Blogs/Parts.Blogs.RecentBlogPosts.cshtml的新視圖,從那裏你可以用你自己的代碼替換當前的'@Display(Model.ContentItems)' - 可能是迭代帖子列表並顯示標題並顯示該帖子的鏈接(或內容摘要)。如果您不確定如何操作,請在此處張貼另一個問題,讓我(或其他人)更容易回答:-) – mdm

2

除了編碼自己的視圖之外,還有兩種其他方法可以自定義顯示內容。

  1. Placement.info file。您可以告訴它爲給定的contentType和/或DisplayType顯示哪些字段(摘要或詳細信息)。您還可以告訴它顯示字段的順序。

來自thememachine主題中的示例文件。

<Match ContentType="Blog"> 
    <Match DisplayType="Summary"> 
    <Place Parts_Blogs_Blog_Description="Content:before" 
     Parts_Blogs_Blog_BlogPostCount="Meta:3"/> 
    </Match> 
</Match> 
  1. 快速黑客是使用CSS來隱藏你不想要的內容。我使用這個博客的元數據之前,我發現placement.info

順便說一句 - 我不知道你是否熟悉設計工具模塊,但它是無價的!

相關問題