Drupal 6でCCKを使用しており、8〜10個のフィールドをフィルターとして使用してDrupalで検索フォームを作成する必要があります。ユーザーがフォームを送信するとき、フィルターを適用して結果をテーブルに表示するDBでクエリを実行する必要があります。
SQL-where条件(ノードとcontent_type_xyzテーブルを結合する)を動的に構築することによってこれをプログラムで行う方法を知っていますが、「Drupalの方法」でそれを行う方法を学ぶことに興味があります。ビューとパネルを使用する必要があると思いますが、このような状況で簡単に実装できるかどうかはわかりません。いくつかのサンプルビューを作成しようとしましたが、手作業でコードを作成する方が速いと思います。
1059 次
2 に答える
1
カスタム検索が必要な場合は、次の 2 つのことを行うために IMO が必要です。
- _search に接続して、結果に Drupal の表示を使用できるようにします。このフォーム内で、データベースのクエリを作成したり、必要に応じて他のコンテンツをロードしたりできますが、必ずpager_queryを使用してください。
- 既存の検索フォームを拡張するか、独自に構築します。自分でビルドすることをお勧めします。Drupals検索フォームから既に存在するものを使用します。このようにして、これを行う方法のクリーンな方法が得られます。
実際には、派手なモジュールを使用する必要はありません (それを除外する必要があるという意味ではありませんが、検索は非常に重要であるため、基本的な操作で十分に処理できます)。
上記を使用すると、すべての機能を備えたネイティブ検索フォームが得られ、グローバル ページング オプションを利用できます。
于 2011-01-27T19:16:31.467 に答える
0
ビューを使用してそれを行う場合、SQL を使用して実行できるフィルタリングのみに制限されます。Views は SQL ビルダーであり、「適切な」検索機能は含まれていません。そうは言っても、ビューはあなたが望むことをするように思えます。ビューの下にフィルターを作成し、[このフィルターを公開する] をクリックすると、ユーザーがフィルタリングするものを入力できるフィールドが突然表示されます。
于 2011-01-28T16:11:38.977 に答える