2011-01-27 8 views
0

私はDrupal 6でCCKを使用しています。私はDrupalで8-10のフィールドをフィルタとして使用して検索フォームを作成する必要があります。ユーザーがフォームを提出すると、フィルタを適用してDBにクエリを作成し、その結果をテーブルに提示する必要があります。 私はこの方法を、SQLのwhere条件(join nodeとcontent_type_xyzテーブル)を動的に構築することによってプログラムで行いますが、Drupalの方法でそれを行う方法を学ぶことに興味があります。私はビューとパネルを使用しなければならないと思うが、このような状況で簡単に実装できるかどうか分からない。いくつかのサンプルビューを構築しようとしたが、手動でコードを作成する方が速いと思う。Drupal 6のカスタム検索フォーム:ビュー/パネルまたはカスタムSQL?

誰でも手伝ってもらえますか? ありがとうございました。

答えて

1

カスタム検索をしたい場合は、2件の観光名所するIMO必要がありますので、あなたは結果を得るためのDrupalのディスプレイを使用することができます_searchに自分自身をフック

  1. を。このフォームの中で、データベースのクエリを作成したり、他のコンテンツをロードしたりできます。pager_queryを必ず使用してください。
  2. 既に存在するか、独自の検索フォームを拡張します。私はあなた自身をbulidingことをお勧めします。 Drupals search formから既に存在するものを使用してください。この方法で、あなたはこれを行う方法のきれいな方法を持っています。

実際にファンシーモジュールを使用する必要はありません(これは、それらを排除する必要はありませんが、検索は基本的に非常にうまく処理されるためです)。

上記を使用すると、すべての機能を備えたネイティブ検索フォームが得られ、グローバルなページングオプションを利用できます。

0

ビューを使用している場合は、SQLを使用して行うことができるフィルタリングにのみ制限されます。ビューはSQLビルダーであり、「適切な」検索機能を含んでいません。つまり、ビューはあなたが望むことをするように聞こえます。ビューの下にフィルタを作成して[このフィルタを公開]をクリックすると、ユーザーが表示する項目を入力するためのフィールドが突然表示されます。

関連する問題