Drupal实现多条件过滤导航(三)—— Views 方式

  在 D6 时代,Views 更多只是用于构造各种新闻列表、图文列表、图片集、幻灯片之类的列表或结果集。进入 D7 之后,因为 Views 被应用得更广泛,以及更多基于 Views 的第三方模块的出现,使用得 Views 的功能越发的强劲。而在 D8 中,Views 更是直接被加入了内核,可见 Views 的实用性非同一般。

  很多朋友从来只用 Views 做过简单的内容列表,不曾玩过太多基于 Views 的花样,今天我们也借着多条件过滤导航这样一个功能的需求,小窥一下 Views 不太一样的用法。

Drupal多条件过滤导航

  有前两篇的基础,这里就不再介绍需求和背景了,直接切入正题,理一理思路,看看如何使用 Views 来实现上图的多条件过滤导航。

  首先,上图应该是由三个 Views 组成,即左上的“热点真题”、左下的“精选真题”以下右侧的“最新真题”

Drupal实现多条件过滤导航(二)—— Search API 方式

   在上一篇《 Drupal实现多条件过滤导航(上)》中我们已经了解到多条件过滤导航的基本需求和高级需求,下面就来看看通过Drupal如何得以实现。

  需求拿到手上,首先要想的即是有哪些第三方的模块可以供我们使用,如果还不知道哪些模块可供使用,使用 Google 或者 drupal.org 进行简单的搜索即可得到一些常用的解决方案。

  在开始搜索之前,有几个关键词可以帮助我们进行搜索——search(搜索)、filter(过滤)、faceted(分面搜索)、Solr(Apache Solr)。因为 filter 在 Drupal 里是“输入格式”的专有名词,进行这个搜索得到的结果往往并非是我们所需要的。另一方面我们希望通过尽可能简单的方式来实现这一功能,因此也不希望还要做到与 Apache Solr 进行整合。所以,最终我们通过 search 和 faceted 两个关键词展开搜索。

  ……

  经过一番搜索和尝试之后,大致得到以下一些模块可以帮助我们实现所需的功能,这些模块是:

Drupal实现多条件过滤导航(一)

  大家在上网时经常能够看很多网站都有很酷很实用的多条件过滤,通过组合许多不同的过滤条件,帮助用户逐渐缩小内容的显示范围,逐渐找到最需要的内容。

  比如像优酷这样的电影过滤

优酷电影导航

  不过相信更多的Drupaller是在做商城类的项目时遇到这样的需求,即便如此,换汤不换药 :D 大家很困惑,甚至觉得有些压力山大,究竟用 Drupal 能不能为产品实现这样的多条件过滤呢?

太平洋电脑筛选

  ——当然可以了,除了给你生个孩子,还有什么是 Drupal 做不到的呢 ;)

如何为 Drupal 实现好友关注/收听(follow)功能?模块选择

  上一篇我们讲到《如何为Drupal实现好友关注/收听(follow)功能的需求分析》,然后便开始针对一些关键词和模块进行搜索、调研和试用,最终决定使用 Flag 及 Message 模块来实现所需的功能。

  在确定使用 Flag 及 Message 模块之前,搜索了诸如 follow, activity 之类的关键词,同时也通过 Google 进行了一些搜索,还通过 Drupal 模块页面的相关项目了解了其它不少模块。下面列出好友收听/关注这类功能可能用到的一些模块,如果大家有类似的功能需要实现,可以进行一些了解。

如何为 Drupal 实现好友关注/收听(follow)功能?准备阶段

  传送之门 Alpha 2.0 版本已经上线,相对于上一版本增加了不少新特性,现在用户不仅可以收藏系统已有的页面,还可以与大家分享自己看到的优秀页面。

  在这些功能的基础上,如果能够增加收听功能就更好了。这样一来用户就可以关注感兴趣的用户,当关注的用户分享了新的内容,便能够方便的在好友动态中看到。

Drupal 好友收听

  根据现有的经验来看,要使用 Drupal 来实现这样的收听功能,应该是存在不少相关的第三方模块。比如可能存在 follow, activity 这样的模块。

  在真正动手去搜索 follow, activity 这类关键词之前,首先还是将需要实现的需要罗列出来,有的放矢才不会在搜索模块时看得眼花缭乱。

传送之门介绍

  今天花了点时间为“传送之门”设计和制作了一个简单的主题,主要目的是不让网站以 Drupal 默认主题示人。对于熟悉 Drupal 的朋友,早已对 Garland 和 Bartik 主题免疫性审美疲劳了。

  “传送之门”的首页采用 Metro 形式的设计,鼠标悬停到相关的色块上,色块将切换成相关的介绍文字,与用户的交互性很强。(感谢大漠告知 Metro 一词)

  在首页,目前有“Drupal”、“Web前端”、“随机浏览”和“设置”四个色块,鼠标悬停上去都能看到相应的介绍(如下图),点击“Web前端”色块,系统将随机先用户显示大家分享的优质前端内容。即使是匿名用户,也可以使用首页的设置色块,设置自己感兴趣的主题。

传送之门

基于楠哥对《制约Drupal在中国流行的几大因素》评论的观点发散

  今天楠哥回复了《制约Drupal在中国流行的几大因素》一文,针对Drupal在中国不流行的原因提出了几点看法。(查看评论原文

 

以下,基于楠哥的观点做出一些发散:

1、开发成本,想要很好的运用和开发Drupal 首先得是优秀的PHP 工程师,然后还需要对前端的技术CSS HTML JavaScript 相当熟悉才可以运用自如;

  观点发散:使用Drupal做项目的成本比较高,这个主要是指学习成本,学习任何技术和产品都不可避免要投入一定的学习时间。相对于以CMS加框架为模型、包含回调和诸多抽象层概念的Drupal而言,它的学习难度和周期都相对较长。然而一旦上手之后,对于开发性的项目而言,开发成本则要远远要低于CMS、框架或者纯代码。

北京大学各类Drupal站点陆续上线

  自今年三月份开始,开始为北大做Drupal培训和咨询,亲自见证了又一个Drupal团队的新生和成长。虽说这个Drupal团队尚且年轻,无法与企业的规范和标准来衡量,但在国内高校当中,已经算得上是走在前列的Drupal生力军。

  最近几个月北大不少站点陆续地进行改版上线,其中包括北京大学图书馆门户、北京大学图书馆110周年馆庆、图书馆数据库导航及Calis全国文理文献信息中心等站点。无一例外,这些站点都迁移到了Drupal平台。

  作为全世界最流行的CMS/CMF,Drupal被用于全世界各行各业,包括各大高等院校——全球排名前100名的高校中有71所将Drupal用于学校或内部站点的建设——哈佛、耶鲁、剑桥、斯坦福、麻省理工等等。(详情请见以下榜单,点击图片查看大图

Drupal在线交流会第二期话题征集

2012年8月11日的第一期Drupal在线交流会已经结束,在改进交流方式的同时我们也开始为第二期的话题在做准备,以下列出一些候选的交流会话题,并在此向大家征集更多Drupal交流会话题。如有其它感兴趣的话题,感谢大家通过评论告知,谢谢。

页面