As things are now, the way Search uses the form system and the menu/tab system is non-standard, and it tends to make things rather difficult. For instance, there is no clear distinction in the URLs between search tabs/modules and search terms (e.g. path search/foo could mean you are searching for "foo" or that you are using the "foo" tab).
This leads to things like these issues, some of which may have been partially fixed or worked around to some extent in Drupal 7:
- #751850: searching for ldap throws error
- #600424: search.module pulls arguments directly from $_GET rather than using the menu system
- #245103: Search page tabs not highlighting
- #497206: Avoid search conflicts with other forms, use menu API instead of search_get_keys() (this might not actually be related, but I think it is)
- #600392: search_form() has an $action argument but this argument is partially ignored
- #518512: Search from block with no keywords doesn't display the "Please enter some keywords" message
Possibly we should scrap the idea of each search module being a tab, and instead be using radio buttons, and using the standard form submit mechanisms of Drupal? It needs some thought...
Comments
Comment #1
jhodgdonSee also
#894486: Use the query string for search keys rather than appending them to the URL
Comment #2
yanniboi CreditAttribution: yanniboi commentedI've just posted this issue #2052325: Move search block form to new drupal 8 standard and I think it fits quite neatly under Re-architect use of forms in Search module...
Comment #3
pwolanin CreditAttribution: pwolanin commentedupdate title to note it as a meta
Comment #4
jhodgdonDo we even need this meta issue, since we have other issues about the menu routing conversion and forms conversion? Will those other issues take care of this problem, as it was originally conceived?
Comment #5
jhodgdonI think the only remaining task here from the original report actually #894486: Use the query string for search keys rather than appending them to the URL, so I'm going to go ahead and close this as a duplicate. There are already tasks in place for converting to form classes, controllers, etc. and I don't think we really need this meta.