2015-07-21 21 views
1

在D7網站上,我有一個視圖中顯示的項目列表。 該視圖由幾個不同的分類學詞彙過濾,每個顯示爲暴露的過濾器保存視圖堆棧中的過濾器

例如:

  • 文化
  • 中等
  • 產地
  • 藝術家

我的問題當你選擇文化的下拉菜單,並選擇一個標籤時,也就是說也門人對於標籤爲Yemenite的物品,視圖會被過濾。 但是,如果我點擊Medium的下拉菜單並選擇一個標籤,比如Metalwork,則該視圖將被過濾以僅顯示標有Yemenite和Metalwork的項目。

這是太具體了,但我找不到一種方法來使過濾器獨立運作,當我選擇Medium時,Culture的過濾器被重置,並且只顯示Metalwork。過濾器組和And/Or說明符只會創建長限定符鏈,而不是重置和重新過濾。我敢肯定,這可以使用jQuery來完成,但我的日程安排很緊張,而且我的經驗用jQuery覆蓋了選擇列表,並且處理所創建的跨瀏覽器問題一直是非常不利的。我也可以創建一個精細的標籤層次結構,並將整個事物顯示爲一個過濾器,但這種混亂實際上不可行,在移動設備上也存在問題。

如果任何人有任何想法或指針,我會感謝幫助。

回答

0

在視圖中,您可以更改暴露過濾器的行爲。在暴露的過濾器列表中有一個帶有「添加」/「AND/OR,重新排列」的選項卡。使用「AND/OR」選項,您可以更改包容行爲並將其設置爲「或」。

+0

權利,但和/或只是加或減。我需要重置之前選擇的標籤。或者給你留下一個大的,不起眼的結果集,如果你幸運的話,會返回2。當需要進行新的選擇時,我需要每個暴露的過濾器進行重置。另外,我知道你可以在暴露的過濾器上放置一個重置按鈕,但這不是一個很好的UI體驗來保持重置和等待。 –

+0

啊,我明白了。你可以做的是對暴露窗體(hook_form_FORM_ID_alter())進行表單修改並添加提交處理程序。在form_alter中,您可以更改選定的值,並在提交處理程序中可以重新提交值。 –