2012-02-21 41 views
0

我有一個視圖與一些暴露的過濾器,我想爲作者添加一個公開的過濾器,以便用戶可以限制創建者的節點列表節點(除了許多其他過濾器)。Drupal 7視圖添加作者列表作爲公開的過濾器

什麼我迄今所做的:

我已經添加了筆者的暴露過濾器和設置運營商「包含的任何單詞」(這樣的用戶名可能只是一個+分隔列表)

  1. 這是默認的文本字段,但我想它顯示爲複選框(類似於分類)
  2. 列表使用hook_form_alter我已經添加下面的代碼將其更改爲一個列表複選框(現在編碼,但我很快就會修復)

    $ form ['name'] ['#type'] =「select」; $ form ['name'] ['#size'] =「3」; $ form ['name'] ['#multiple'] = TRUE;

    $形式[ '名稱'] [ '#選項'] =陣列( '管理員'=> '管理員', '泰勒'=> '泰勒', '測試'=> '測試' ); $ form ['name'] ['#theme'] =「select_as_checkboxes」;

當表單提交它改變了網址&名[] =泰勒&名[] =管理員,我想做的是一個foreach結合這使URL看起來像&名=泰勒+管理員,但我真的不知道如何在API中實現這一點。

我試着給$ form ['#submit']添加一個函數,然後在那裏改變字段的值,但是仍然沒有改變輸出。

有什麼建議嗎?

快速編輯

暫且我轉這使用無線電而不是複選框,這解決了我遇到的問題。

爲了解決這個問題,我進一步瞭解了複選框的名稱,在這些複選框中,由於多個輸入而被設置爲name [] =而不是name =。視圖中的名稱過濾器不知道如何處理名稱字段的多個值。

現在我會看看它是否與客戶端一起飛行,但如果任何人有一個答案,爲所有作者添加複選框到一個暴露的過濾器,這將是真棒!

+0

另請參見[此答案](http://stackoverflow.com/a/16517124/1072114)瞭解類似的問題。 – Shevchuk 2013-05-13 08:00:46

回答

0

使用Better Exposed Filters模塊。

+0

我正在使用Better Exposed Filters模塊。有沒有一些具體的方法來添加我缺少的BEF的功能? – 2012-02-22 14:49:21

+0

更改操作符「包含任何單詞」爲「是其中之一」 – fotuzlab 2012-02-23 06:13:03

相關問題