2012-02-21 6 views
0

投稿者の公開フィルタを追加したい公開されたフィルタがいくつか表示されています。これにより、ユーザは作成者によってノードのリストを制限できますノード(他の多くのフィルタに加えて)。Drupal 7 Views公開されたフィルタとして投稿者のリストを追加

私はこれまで何をやったか:私は著者の露出フィルタを追加し、オペレータが設定した

に(そのユーザ名がちょうど+がリストに分離することができた)「任意の単語が含まれています」

  1. 私はリストにそれを変更するには、次のコードを追加しましたhook_form_alter使用これは、デフォルトではテキストフィールドですが、私はそれが(分類学に類似)のチェックボックスのリストとして表示されたい
  2. チェックボックスの(今はharcodedしかし私はすぐに修正する)

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

    $フォーム[ '名前'] [ '#オプション'] =配列( にadmin '=> '管理者'、 'タイラー'=> 'タイラー'、 'テスト'=> 'テスト' ); $ form ['name'] ['#theme'] = "select_as_checkboxes";このフォームは、それが&名へのURLが変更に提出され

[] =タイラー&名[] =管理者、私は何をしたいと、そのURLは&名前のようになりますので、foreachのでこれらを組み合わせています= tyler + adminですが、APIでこれをどのように正確に達成するかについては本当にわかりません。

$ form ['#submit']に関数を追加しようとしましたが、そこにあるフィールドの値を変更しましたが、それでも出力は変更されませんでした。

アドバイスはありますか?

クイック編集

時間のために私は私が持っていた問題が解決され、ラジオの代わりに、チェックボックスを使用するために、これを切り替えているされています。

問題を解消するために、複数の入力のために、name =の代わりにname [] =に設定されているチェックボックスの名前をもう少し詳しく説明しました。ビューの名前フィルタは、名前フィールドの複数の値を処理する方法を知らない。

今のところ、これはクライアントと一緒に飛ぶかどうかはわかりますが、誰かが露出したフィルタにすべての作者のチェックボックスを追加するという元の質問に対する答えがあれば、すばらしいでしょう!

+0

同様の質問については、[この回答](http://stackoverflow.com/a/16517124/1072114)も参照してください。 – Shevchuk

答えて

0

Better Exposed Filtersモジュールを使用してください。

+0

Better Exposed Filtersモジュールを使用しています。 BEFにこの機能を追加する方法がいくつかありますか? –

+0

演算子「任意の単語を含む」を「is one of」に変更します。 – fotuzlab

関連する問題