2010-07-26 75 views
0

我創建了一個使用暴露的過濾器和視圖模塊的搜索頁面。用戶可以從不同的值中進行選擇,以獲得具有特定結果的表(返回節點字段)。此頁面位於mysite.com/search。問題是我想在我的主頁上放置一個簡化版的搜索表單(可以說關鍵字搜索框+一個或兩個複選框)。這可以是一個塊或一個視圖。當用戶按下搜索按鈕時,我想將他重定向到搜索頁面並顯示結果。這裏用戶應該能夠以一種普通的方式改進他的搜索。我想這可以通過HTTP GET參數並指向實際的搜索網站來實現。然而,我想知道,如果我可以在我的主頁上使用視圖,塊等對錶格進行硬編碼,我希望這是有道理的。任何幫助將不勝感激。鏈接到實際搜索頁面的搜索表單

+0

在啓用搜索模塊的情況下,它可能會與您創建的頁面發生衝突。 – kiamlaluno 2010-07-27 15:18:32

+0

你爲什麼從標題中刪除drupal?而你錯了,它不會導致衝突。 – Vonder 2010-07-27 16:14:01

回答

2

編輯

最終的結果是,你想擁有一種形式帶您到搜索結果頁面和搜索結果頁面本身上的其他高級形式。該解決方案通過爲每個表單創建兩個相同的視圖並使用不同的過濾器來實現此目的

當有人使用簡體形式時,他們會被帶到example.com/search,當他們在該頁面上並使用高級表單時,他們會被帶到example.com/search/advanced。由於視圖與相似的路徑相同,因此最終用戶不會知道其中的差別。

以下是如何做到這一點:

  1. 創建搜索結果的看法。不過,您可以使用默認顯示設置搜索結果。對於過濾器,只能放入自動過濾器:不要放入您想讓用戶過濾的東西。
  2. 在該視圖中創建一個新的頁面顯示。給它一條路徑搜索。這將是用戶在使用簡化搜索表單時點擊的結果頁面。
  3. 在此頁面顯示中,覆蓋過濾器。設置並公開您想要的簡化搜索表單的過濾器。
  4. 覆蓋暴露形式塊在此顯示了基本設置並將其設置爲
  5. 在視圖中創建新頁面顯示,併爲其指定路徑search/advanced。這將是用戶在使用高級搜索表單時命中的結果頁面。
  6. 覆蓋此顯示的過濾器,設置並展示高級搜索表單所需的過濾器。
  7. 覆蓋暴露形式塊在此顯示了基本設置並將其設置爲。現在

,你將有兩個視圖頁面,搜索搜索/高級,和2個蓋帽,簡化的搜索表單和一個高級搜索表單。

轉到塊管理,並啓用簡化搜索塊。使用路徑特定的可見性設置來設置您希望簡化搜索框出現的位置。

現在,啓用高級搜索塊。使用路徑特定可見性設置的可見性設置爲:

search 
search/* 

比方說,你想用一組不同的過濾器創建另一個簡單的搜索框(我們稱之爲備用)。您也可以這樣做:在視圖中創建另一個頁面顯示,就像您在步驟2-4中所做的那樣,但是不使用路徑搜索,給它一個不同的路徑:搜索/備用。您可以根據需要添加儘可能多的帶有不同過濾器的簡化表單,並且在您使用它們時,它們都將具有高級搜索表單和相同的結果。

+0

感謝您的回答,但我不太明白。我必須創建2個視圖嗎?還是2個街區?目前我有默認和頁面顯示。我應該創建塊顯示還是創建新視圖?此外,當我從塊顯示中刪除字段時,它們也從頁面顯示中刪除(高級結果頁面)在我的頁面顯示中,我顯示了搜索表單和結果(通過字段),並且希望在我的主頁上有迷你搜索框一些將用戶帶到高級(頁面顯示)結果的表單。 – Vonder 2010-07-28 20:34:37

+1

這正是我想要的。它只是一個真正的Drupal專家的解決方案!你應該寫一篇關於這方面的文章,我想很多drupal用戶都會很感激。非常感謝! – Vonder 2010-07-28 21:51:01