Drupal實現(xiàn)多條件過濾導航.doc_第1頁
Drupal實現(xiàn)多條件過濾導航.doc_第2頁
Drupal實現(xiàn)多條件過濾導航.doc_第3頁
Drupal實現(xiàn)多條件過濾導航.doc_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Drupal實現(xiàn)多條件過濾導航大家在上網(wǎng)時經(jīng)常能夠看很多網(wǎng)站都有很酷很實用的多條件過濾,通過組合許多不同的過濾條件,幫助用戶逐漸縮小內(nèi)容的顯示范圍,逐漸找到最需要的內(nèi)容。比如像優(yōu)酷這樣的電影過濾不過相信更多的Drupaller是在做商城類的項目時遇到這樣的需求,即便如此,換湯不換藥 :D 大家很困惑,甚至覺得有些壓力山大,究竟用 Drupal 能不能為產(chǎn)品實現(xiàn)這樣的多條件過濾呢?當然可以了,除了給你生個孩子,還有什么是 Drupal 做不到的呢 ;)在開始介紹如何實現(xiàn)這樣的功能前,我們先統(tǒng)一一下對需求的認識。并且在這里希望大家認識到隨著網(wǎng)站信息量的增大,內(nèi)容標識維度的增加,不只是電影網(wǎng)站、網(wǎng)上商城,多條件過濾可以應(yīng)用的范圍是非常廣泛的,旅行、美食、創(chuàng)業(yè)、圖書管理、同城交友哪里都可以它的身影,希望大家開動腦筋、發(fā)散思維 :D好了,下面我們一起來整理一下多條件過濾的一般需求,同時我們也提出一些高級的需求,一方面是挑戰(zhàn)自我,另一方面也是因為現(xiàn)一個功能很簡單,但要把一個功能在現(xiàn)實世界中用好用強,要考慮的東西還會多很多。多條件過濾需求整理基本需求 能夠?qū)?nèi)容相關(guān)的各項條件以鏈接形式顯示出來 通過點擊相應(yīng)的鏈接對過濾結(jié)果產(chǎn)生直接的影響 用戶能夠以不同的順序點擊多個條件,顯示的結(jié)果為多個條件的交集高級需求 高級過濾方式:除了可以通過點擊鏈接選擇條件外,還能夠為用戶提供一些其它類型的過濾方式,如基于全文檢索的搜索框、基于價格范圍(最低價-最高價)的區(qū)間過濾、基于商品評分(15星)的過濾等等 全局過濾條件:除了網(wǎng)站主體區(qū)域外,網(wǎng)站通常還會在邊欄也會有一些相關(guān)內(nèi)容(如最新電影、推薦商品)的列表結(jié)果,當用戶選擇了指定的過濾條件后,除了網(wǎng)站主體區(qū)域的過濾結(jié)果產(chǎn)生變化外,過濾條件還應(yīng)該應(yīng)用到邊欄或頁面其它部分。如果能實現(xiàn)基本需求,已經(jīng)很好了,如果能夠把高級需求一并實現(xiàn),那就真是太酷了。當然這一切對 Drupal 而言只是不能生孩子之外能夠做的眾多事情中的一件,下一篇我們就來分享實現(xiàn)這樣的多條件過濾的思路和流程 ;)Drupal實現(xiàn)多條件過濾導航(二) Search API 方式在上一篇 Drupal實現(xiàn)多條件過濾導航(上)中我們已經(jīng)了解到多條件過濾導航的基本需求和高級需求,下面就來看看通過Drupal如何得以實現(xiàn)。需求拿到手上,首先要想的即是有哪些第三方的模塊可以供我們使用,如果還不知道哪些模塊可供使用,使用 Google 或者 進行簡單的搜索即可得到一些常用的解決方案。在開始搜索之前,有幾個關(guān)鍵詞可以幫助我們進行搜索search(搜索)、filter(過濾)、faceted(分面搜索)、Solr(Apache Solr)。因為 filter 在 Drupal 里是“輸入格式”的專有名詞,進行這個搜索得到的結(jié)果往往并非是我們所需要的。另一方面我們希望通過盡可能簡單的方式來實現(xiàn)這一功能,因此也不希望還要做到與 Apache Solr 進行整合。所以,最終我們通過 search 和 faceted 兩個關(guān)鍵詞展開搜索。經(jīng)過一番搜索和嘗試之后,大致得到以下一些模塊可以幫助我們實現(xiàn)所需的功能,這些模塊是: Search API - 為Drupal提供可擴展的搜索框架,以便與各種搜索引擎聯(lián)合工作 Facet API - 為Drupal提供易于創(chuàng)建和管理的分頁搜索接口 Search API Database Search - 基于 Search API,為Drupal提供基于數(shù)據(jù)庫索引的搜索后端 Search API Pages - 基于 Search API,為Drupal提供各種自定義搜索頁面與此同時,搜索過程中還能找到一些非常實用的教程,如 Ivan Zugec 的 How to setup Search API with Apache Solr盡管這篇文章里面是用 Solr 作為后端搜索引擎,如果我們希望簡單地實現(xiàn)這一功能,使用前面提到的 Search API Database Search 來替換教程中要用到的 Search API Solr Search 模塊即可。當按照教程完成分頁搜索的配置后,即可得到類似以下截圖的搜索頁面,根據(jù)需要創(chuàng)建相應(yīng)的 Faceted Block View,分配到指定的位置,然后使用CSS控制區(qū)塊的樣式布局(如將所有鏈接顯示在同一行)即可對于基本的過濾搜索,使用 Search API 來實現(xiàn)就能足夠了,即使當數(shù)據(jù)量較大時,使用Solr作為后端搜索引擎,效率和性能也會相當出色。在使用 Search API 結(jié)合 Database Search 或 Solr Search 時,對于中文站點而言,更適合用于條件過濾或非搜索過濾上,因為不論是 Database Search 還是 Solr Search,在不添加分詞工具的情況下它們不具備合適的中文分詞能力,因此如果是需要的支持中文且需要結(jié)合搜索過濾的情況下,我們則應(yīng)該考慮另一種解決方案。下一篇我們將接著介紹使用Drupal實現(xiàn)多條件過濾導航的另一種解決方案,不但配置簡單,而且可以滿足我們在需求篇中提到的兩大高級功能即除鏈接過濾之外的其它過濾方式(字符串搜索、價格區(qū)間、星級)以及全局過濾條件(當頁面有多個相關(guān)的內(nèi)容塊時,過濾條件同時作用于多個內(nèi)容塊)Drupal實現(xiàn)多條件過濾導航(三) Views 方式在 D6 時代,Views 更多只是用于構(gòu)造各種新聞列表、圖文列表、圖片集、幻燈片之類的列表或結(jié)果集。進入 D7 之后,因為 Views 被應(yīng)用得更廣泛,以及更多基于 Views 的第三方模塊的出現(xiàn),使用得 Views 的功能越發(fā)的強勁。而在 D8 中,Views 更是直接被加入了內(nèi)核,可見 Views 的實用性非同一般。很多朋友從來只用 Views 做過簡單的內(nèi)容列表,不曾玩過太多基于 Views 的花樣,今天我們也借著多條件過濾導航這樣一個功能的需求,小窺一下 Views 不太一樣的用法。有前兩篇的基礎(chǔ),這里就不再介紹需求和背景了,直接切入正題,理一理思路,看看如何使用 Views 來實現(xiàn)上圖的多條件過濾導航。首先,上圖應(yīng)該是由三個 Views 組成,即左上的“熱點真題”、左下的“精選真題”以下右側(cè)的“最新真題”我們在此要實現(xiàn)的功能呢,即當用戶使用右上方的“搜索”以及各種條件進行導航時,三個區(qū)域的內(nèi)容要發(fā)現(xiàn)相應(yīng)的變動比如默認時三個視圖均顯示所有學科的內(nèi)容,當用戶點擊了“物理”之后,三個視圖均只顯示與物理相關(guān)的內(nèi)容。(這種設(shè)計不只在教育平臺中實用,在各種電影、旅行、美食、電商站點均可提供非常爽的用戶體驗:D)像這樣的設(shè)計通過 Views 要如何來實現(xiàn)?一旦解決方案被提出來了,大家就都會覺得真是十分的簡單將節(jié)點的字段作為過濾條件顯示(暴露)出來,即可實現(xiàn)通過多條件/多形式進行過濾的功能,然后因為 Views 使用過濾條件時使用 GET 方式將參數(shù)追加到 URL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論