请注意,本站并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome浏览器
欢迎光临。交流群:166852192

Orchard筛选与映射-基础篇


  筛选与映射是作为Orchard1.4版后最重要的模块也是最复杂的模块,这么长时间我一直都没深入研究透彻,以至于没敢写关于这个模块的文章(主要还是因为懒惰),今天为大家呈现他一个最基本操作,就当是抛砖引玉吧,这个模块主要我打算分成两次来写,这次主要讲述一些基础部分。
       筛选模块主要是取代了Orchard以前版本的List模块,筛选模块无论从功能上还是功能上都上升了一个新的台阶。我们可以通过筛选模块来呈现出丰富的列表;实际上筛选主要的包含了3个部分:过滤、排序、布局(绑定这个我下次再讲),通过这3个部分我们能完成很多我们想要的效果,下面那我将用一个非常简单的范例来讲述如何使用:

基本过滤

       我们用一个旅店房间的列表范例来演示,下面我们新建一个房间的类型,大概增加如下字段,并随意添加了一些测试数据,如下图:

现在我们将所有的“房间类型”都显示在页面上,筛选-》添加新的筛选-》新增过滤,在弹出的对话窗中输入名称并点击确定。 我们新增的名称为“房间筛选”如下图:

点击编辑,添加过滤如下图:

在新增页面,会有一些过滤的条件,我们找到内容-》内容类型,如下图:

点击后,在新页面中选择,房间如下图:

点击保存后,这样我们一个最基本的筛选就设置完了,然后我们进入映射“Projection”如下图:

注意上面,我们已经可以看到到刚才所保存的筛选;
点击确定后,进入主页的路径,我们可以看到如下图的列表:

这样一个最基本的筛选就设置完毕,下面我们将按照时间倒序,并将列表变换布局格式,然后只显示没有过期的房间;
 

复杂过滤

第一步我们将新增过期的过滤条件,进入筛选,找到刚才新建的筛选,点击“添加新的过滤器”在新窗口中点击room内容字段->截止时间:值,如下图:

注意这里的查询条件,他与刚才的查询内容类型条件是“与”的关系,我们将所有过期时间小于今天的时间都过滤掉,我们可以选择“从当前时间进行偏移”这个选项来做。点击保存后完成过滤;
我还要强调的是,这里每个过滤器是“与”的关系,“过滤组”与“过滤组”是“或”的关系;如何添加过滤组那,如下图:

这样我们新的过滤就添加完了,下面我们进行排序的添加;
 

新增排序

进入筛选,找到刚才新建的筛选,点击“添加新的排序标准”在新窗口中点击room内容字段->截止时间:值,如下图:

在新窗口输入内容后点击保存,如下图:

这样我们的排序就设置完毕了,下面我们将设置筛选中较为复杂的一个内容就是布局(layout);
 

新增布局

进入筛选,找到刚才新建的筛选,点击“添加新的布局”在选择网格,如下图:

这里我要介绍一下网格和html列表的区别,网格的布局相当一个table,而html列表就相当于一个list,这里我们就选用网格作为介绍;
在新页面中我们添加内容,显示类型选择默认的Summary,列行数选择3,Html属性这个是根据您的CSS样式决定,在这里设置好名称,在生成的html中的class和Id都可以控制,我们简单设置后如下图:

点击保存后,看看我们设置的效果,是不是还不错那:

什么?布局没有生效,这是什么情况?哦原来,映射那里的布局需要重新选择一下新的布局,进入编辑刚才新建的映射(Projection),将筛选修改为新的布局筛选,如下图:

点击保存后,看看效果怎么样是不是变得和想象中的一样了,如下图:

当然如我们这里还需要定义一下他的样式,我们可以在css中加入刚才我们输入的roomCss的样式,这样会变的更漂亮,我们看到刚才我们定义的id和class都已经生效,如下图:

这样一个筛选的简单应用就做完了,这篇文章只是基础的讲解了筛选的简单应用,后面我将会进一步将筛选模块进行深一步的讲解。

作者原创内容不容易,如果觉得内容不错,请点击右侧“打赏”,赏俩给作者花花,也算是对作者付出的肯定,也可以鼓励作者原创更多更好内容。
更多详情欢迎到QQ群 166852192 交流。