Drupal 5搜索不在404页面上工作

时间:2010-03-17 17:30:27

标签: php drupal search preprocessor drupal-5

我的page.tpl.php页面中有<?php print $search_box; ?>。在存在的页面上,搜索有效,但在404页面上,它没有。

我在drupal.org上看到了一些针对D6.15的错误/补丁线程,但是它们似乎根据线程没有工作,并且它们与D5.x无关。

我有一个理论认为,因为<?php print $search_box; ?>创建了一个带有动作的表单(一个不存在的页面),它将获得404。

有人遇到过这种情况吗?如果是这样,你是如何解决它的?

我所拥有的一种理论是以某种方式接触表格并始终制作始终存在的动作=“/”(首页)。

如果这是一个好主意,那么如何利用FormAPI并覆盖操作呢?它是预处理函数吗?

1 个答案:

答案 0 :(得分:2)

  1. form alter中,您可以使用drupal_get_headers()检查正在显示的网页是否为404.
  2. 如果是404,您可以在表单中将搜索表单中的$form['#action']属性设置为fx首页或您要将用户重定向到的任何其他页面。
  3. 我没有对此进行过测试,但它应该有效。