1

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

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

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

有没有人反对这个?如果是这样,你是如何解决的?

我的一个理论是以某种方式进入表单并始终使 action="/" (首页)始终存在。

如果这是一个好主意,如何利用 FormAPI 并覆盖操作?它是预处理功能吗?

4

1 回答 1

2
  1. 表单更改中,您可以使用它drupal_get_headers()来检查正在显示的页面是否为 404。
  2. 如果是 404,您可以在您的表单中将$form['#action']搜索表单中的属性设置为 fx 您希望将用户重定向到的首页或任何其他页面。

我没有对此进行测试,但它应该可以工作。

于 2010-03-18T08:39:35.907 回答