Drupal实现多条件过滤导航
更新时间:2023-03-08 05:17:05 阅读量: 综合文库 文档下载
- DRUPAL工程师招聘推荐度:
- 相关推荐
Drupal实现多条件过滤导航
大家在上网时经常能够看很多网站都有很酷很实用的多条件过滤,通过组合许多不同的过滤条件,帮助用户逐渐缩小内容的显示范围,逐渐找到最需要的内容。 比如像优酷这样的电影过滤
不过相信更多的Drupaller是在做商城类的项目时遇到这样的需求,即便如此,换汤不换药 :D 大家很困惑,甚至觉得有些压力山大,究竟用 Drupal 能不能为产品实现这样的多条件过滤呢?
——当然可以了,除了给你生个孩子,还有什么是 Drupal 做不到的呢 ;)
在开始介绍如何实现这样的功能前,我们先统一一下对需求的认识。并且在这里希望大家认识到随着网站信息量的增大,内容标识维度的增加,不只是电影网站、网上商城,多条件过滤可以应用的范围是非常广泛的,旅行、美食、创业、图书管理、同城交友哪里都可以它的身影,希望大家开动脑筋、发散思维 :D 好了,下面我们一起来整理一下多条件过滤的一般需求,同时我们也提出一些高级的需求,一方面是挑战自我,另一方面也是因为现一个功能很简单,但要把一个功能在现实世界中用好用强,要考虑的东西还会多很多。
多条件过滤需求整理
基本需求
? ? ?
能够将内容相关的各项条件以链接形式显示出来 通过点击相应的链接对过滤结果产生直接的影响
用户能够以不同的顺序点击多个条件,显示的结果为多个条件的交集
高级需求
?
高级过滤方式:除了可以通过点击链接选择条件外,还能够为用户提供一些其它类型的过滤方式,如基于全文检索的搜索框、基于价格范围(最低价-最高价)的区间过滤、基于商品评分(1~5星)的过滤等等……
? 全局过滤条件:除了网站主体区域外,网站通常还会在边栏也会有一些相关内容(如最新电影、推荐商品)的列表结果,当用户选择了指定的过滤条件后,除了网站主体区域的过滤结果产生变化外,过滤条件还应该应用到边栏或页面其它部分。
如果能实现基本需求,已经很好了,如果能够把高级需求一并实现,那就真是太酷了。当然这一切对 Drupal 而言只是不能生孩子之外能够做的众多事情中的一件,下一篇我们就来分享实现这样的多条件过滤的思路和流程 ;)
Drupal实现多条件过滤导航(二)—— Search API 方式
在上一篇《 Drupal实现多条件过滤导航(上)》中我们已经了解到多条件过滤导航的基本需求和高级需求,下面就来看看通过Drupal如何得以实现。
需求拿到手上,首先要想的即是有哪些第三方的模块可以供我们使用,如果还不知道哪些模块可供使用,使用 Google 或者 drupal.org 进行简单的搜索即可得到一些常用的解决方案。
在开始搜索之前,有几个关键词可以帮助我们进行搜索——search(搜索)、filter(过滤)、faceted(分面搜索)、Solr(Apache Solr)。因为 filter 在 Drupal 里是“输入格式”的专有名词,进行这个搜索得到的结果往往并非是我们所需要的。另一方面我们希望通过尽可能简单的方式来实现这一功能,因此也不希望还要做到与 Apache Solr 进行整合。所以,最终我们通过 search 和 faceted 两个关键词展开搜索。 ……
经过一番搜索和尝试之后,大致得到以下一些模块可以帮助我们实现所需的功能,这些模块是:
?
Search API - 为Drupal提供可扩展的搜索框架,以便与各种搜索引擎联合工作
? ? ?
Facet API - 为Drupal提供易于创建和管理的分页搜索接口
Search API Database Search - 基于 Search API,为Drupal提供基于数据库索引的搜索后端 Search API Pages - 基于 Search API,为Drupal提供各种自定义搜索页面
与此同时,搜索过程中还能找到一些非常实用的教程,如 Ivan Zugec 的 《How to setup Search API with Apache Solr》——尽管这篇文章里面是用 Solr 作为后端搜索引擎,如果我们希望简单地实现这一功能,使用前面提到的 Search API Database Search 来替换教程中要用到的 Search API Solr Search 模块即可。
当按照教程完成分页搜索的配置后,即可得到类似以下截图的搜索页面,根据需要创建相应的 Faceted Block View,分配到指定的位置,然后使用CSS控制区块的样式布局(如将所有链接显示在同一行)即可
对于基本的过滤搜索,使用 Search API 来实现就能足够了,即使当数据量较大时,使用Solr作为后端搜索引擎,效率和性能也会相当出色。
在使用 Search API 结合 Database Search 或 Solr Search 时,对于中文站点而言,更适合用于条件过滤或非搜索过滤上,因为不论是 Database Search 还是 Solr Search,在不添加分词工具的情况下它们
不具备合适的中文分词能力,因此如果是需要的支持中文且需要结合搜索过滤的情况下,我们则应该考虑另一种解决方案。
下一篇我们将接着介绍使用Drupal实现多条件过滤导航的另一种解决方案,不但配置简单,而且可以满足我们在需求篇中提到的两大高级功能——即除链接过滤之外的其它过滤方式(字符串搜索、价格区间、星级……)以及全局过滤条件(当页面有多个相关的内容块时,过滤条件同时作用于多个内容块)
Drupal实现多条件过滤导航(三)—— Views 方式
在 D6 时代,Views 更多只是用于构造各种新闻列表、图文列表、图片集、幻灯片之类的列表或结果集。进入 D7 之后,因为 Views 被应用得更广泛,以及更多基于 Views 的第三方模块的出现,使用得 Views 的功能越发的强劲。而在 D8 中,Views 更是直接被加入了内核,可见 Views 的实用性非同一般。 很多朋友从来只用 Views 做过简单的内容列表,不曾玩过太多基于 Views 的花样,今天我们也借着多条件过滤导航这样一个功能的需求,小窥一下 Views 不太一样的用法。
有前两篇的基础,这里就不再介绍需求和背景了,直接切入正题,理一理思路,看看如何使用 Views 来实现上图的多条件过滤导航。
首先,上图应该是由三个 Views 组成,即左上的“热点真题”、左下的“精选真题”以下右侧的“最新真题”
我们在此要实现的功能呢,即当用户使用右上方的“搜索”以及各种条件进行导航时,三个区域的内容要发现相应的变动——比如默认时三个视图均显示所有学科的内容,当用户点击了“物理”之后,三个视图均只显示与物理相关的内容。(这种设计不只在教育平台中实用,在各种电影、旅行、美食、电商站点均可提供非常爽的用户体验:D)
像这样的设计通过 Views 要如何来实现?一旦解决方案被提出来了,大家就都会觉得真是十分的简单——将节点的字段作为过滤条件显示(暴露)出来,即可实现通过多条件/多形式进行过滤的功能,然后因为 Views 使用过滤条件时使用 GET 方式将参数追加到 URL 后,因此只要边栏的另外两个视图同样能够接收 URL 中的参数,就可以实现一处过滤,多处过滤的条件导航了。
这里并不打算再重新截图一步一步来实现上图的效果:D 有兴趣和有需要的朋友可以参照以上的思路在自己的项目中实现这样的多条件过滤,不用写代码就能用 Views 搞出如此这般强大的页面,实在是很爽的。
正在阅读:
Drupal实现多条件过滤导航03-08
作文讲评课六步教学法04-21
汽车电气基础的认知108-28
linux下查看oracle用户权限04-08
计算机科学与基础考试模拟一知识分享04-14
理顺四种关系 打好办公室工作攻坚战11-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 过滤
- 条件
- 实现
- 导航
- Drupal
- 民政工作开展情况汇报
- 保险考试重点强化试题6(保险法有关知识)
- 2016-2021年新型涂料行业深度调查及发展前景研究报告
- 河南理工大学混凝土结构试题
- 浅谈高中英语新课程改革之情感教学-最新教育资料
- 2015—2016学年度音乐活动记录表
- 人教版小学五年级下册语文单元测试题(全册)
- 关于转发市财政局市工商局市质监局芜湖市商标品牌奖励和补贴资金
- 浙江省温州市洞头县六校2015-2016学年七年级下期中联考数学试卷
- 2011年安徽省行政能力测试真题及答案
- 抗糖尿病药物的分类及作用机制
- 托福阅读--地质学词汇 - 图文
- 分析化学总结
- 汽车车窗装饰材料项目可行性研究报告
- 地基与基础验收纪要(最终版)
- 江西省教师招聘考试语文真题及答案
- 建筑工地安全管理制度(DOC)
- 浅谈游戏在小学美术教学中的运用-最新教育资料
- XXX惠兴高速辽青匝道至新城区联络线道路工程可行性研究报告
- 高考地理必备知识点总结 - 图文