Drupal 5 Поиск не работает на 404 страницах
У меня есть <?php print $search_box; ?>
на моей странице page.tpl.php. На существующих страницах поиск работает, а на 404 страницах - нет.
Я видел несколько веток с ошибками / патчами на drupal.org для D6.15, но, похоже, ни одна из них не работала в соответствии с темой, и они не имели никакого отношения к D5.x
У меня есть теория, что, потому что <?php print $search_box; ?>
создаст форму с действием для себя (несуществующей страницы), он получит 404.
Кто-нибудь сталкивался с этим? Если так, как ты это исправил?
Одна из моих теорий заключалась в том, чтобы каким-то образом подключиться к форме и всегда создать действие ="/" (первая страница), которое всегда будет существовать.
Если это хорошая идея, как можно подключиться к FormAPI и перезаписать действие? Это функция предварительной обработки?
1 ответ
- В форме изменить вы можете использовать
drupal_get_headers()
проверить, является ли отображаемая страница 404. - Если это 404, вы можете в своей форме изменить
$form['#action']
атрибут в вашей форме поиска для fx главной страницы или любой другой страницы, на которую вы хотите перенаправить пользователя.
Я не проверял это, но это должно работать.