Orchard运用 - 定制呈现最新博客文章

每个博客系统为了吸引更多访问量,一般都会在首页或侧边栏列举一些最新文章/随笔以获取更多点击。其实也就是查询出最新的几篇文章并按照简练的方式呈现,比如一般都只有标题及其对应的链接,有时也会标注一下作者和发布时间等。

Orchard其实最初是以博客系统作为基点扩展出来CMS, 当然这一常见的"Recent Blog Posts" Widget也是必须有的了。不过遗憾的是,其呈现方式是跟列表模式一样一样的,大段的摘要也包含在内。

今天跟大家分享的就是如何定制一个全新的最新文章的展现UI:

首先找到当前运用的主题theme目录, 比如默认的主题目录$ROOT/Themes/TheThemeMachine, 然后找到Views目录,新建一个文件"Parts.Blogs.RecentBlogPosts.cshtml", 文本编辑器打开并添加:

@using Orchard.ContentManagement;
@{
	IEnumerable<object> blogPosts =
		Model.ContentItems.ContentItems;
}
@if (blogPosts == null || blogPosts.Count() < 1) {
<p>@T("暂时没有最新随笔。")</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>
 }

小提示: 其实你可以在博客模块目录$ROOT/Modules/Orchard.Blogs/Views/找到原始的Parts.Blogs.RecentBlogPosts.cshtml。

技巧: 在Orchard中你会经常用到这一表达式 @T("直接输入的提示信息等等")

题外话:
目前为止还是国外对Orchard的介绍和研究比较丰富, 特别是Stackoverflow,你可找到很多问题的解决方案 -

http://stackoverflow.com/questions/tagged/orchardcms

如何在Orchard使用Razor语法 - http://www.cnblogs.com/zhoujg/archive/2011/03/07/1973324.html

posted on 2014-04-27 22:50  Baldwin  阅读(470)  评论(0编辑  收藏  举报