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>

这足以显示一页的结果。如果我尝试导航到第二个结果页面,所有结果都会被丢弃。

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 回答