2

カスタム検索ボックスを作成し、それを使用してDrupalの検索モジュールを操作したいと思います。現在、すべてがかなりうまく機能しています。ただし、検索では適切なトークンを使用する必要もあります。Drupalがこのトークンを形成するためにどのキーを使用するのかわかりません。

現在私は持っています:

 <form class="search-form" action="/search/node" method="post" id="search-form" accept-charset="UTF-8">
   <input type="text" name="keys" class="search_box" value="Search ..." />
   <input type="hidden" name="form_id" id="search-form" value="search_theme_form" />
   <input type="hidden" name="form_token" value="<?php print drupal_get_token('search_theme_form'); ?>" />
 </form>

これは、1ページの結果を表示するのに十分に機能します。2番目の結果ページに移動しようとすると、すべての結果が破棄されます。

4

3 に答える 3

1

おそらく、より適切なものを使用する必要があります

 $form = drupal_get_form('search_block_form');
 return drupal_render($form);

http://api.drupal.org/api/drupal/modules--search--search.module/function/search_form/7

于 2011-02-04T00:55:02.303 に答える
1

フォームを post から get に変更するのと同じくらい簡単であることがわかりました。実用的なソリューションの html は次のとおりです。

<form class="search-form" action="/search/node" method="post" id="search-form" accept-charset="UTF-8">
  <input type="text" name="keys" class="search_box" value="Search ..." />
</form>

トークンなどを定義する必要はありません。

于 2011-02-07T13:10:04.977 に答える
0

そしてテーマの使用:

<?php
 $form = drupal_get_form('search_block_form');
 echo  render($form);
 ?>
于 2012-06-19T21:28:12.557 に答える