在我的主题中有一个部分,我想手动地包含一个搜索输入。我不想使用搜索块,因为我有一些额外的自定义,我要集成在这个问题的范围之外。
它看起来像默认的搜索表单发布到现有的页面,并重定向到结果页(/ search /node/query)。我怎么能手动触发这种情况呢?
我尝试过模仿form_id
,但它似乎没有学到它:
<form method="post" action="">
Search:
<input type="text" name="search_block_form" ng-model="query" />
<input type="submit" value="Search" />
<input type="hidden" name="form_token" value="">
<input type="hidden" name="form_id" value="search_block_form">
</form>
默认块中有一个名为form_build_id
的附加字段,但每次呈现表单时都会更改。
我如何完成手动创建一个帖子去搜索结果?
发布于 2016-02-02 23:14:10
Drupal核心搜索结果页不听URL参数或HTTP内容。相反,它从search/node/QUERY
URL格式中获取第三部分,并显示QUERY
的结果。
不幸的是,这使得无法使用没有Drupal的表单API而创建的标准HTML表单。当然也有解决办法。
基本上,我们要做的是将用户的搜索查询路由到search/node
路径。我看得出来你在用角。您可能会使它将用户发送到正确的路径。
或者,您可以让Drupal侦听URL参数或HTTP请求内容。
https://www.drupal.org/project/query_参数_至_url --我刚刚找到的这个模块(没有亲自尝试)似乎会将URL参数重写到路径查询中。不过,我不确定这是否适用于搜索表格。
否则,您将不得不创建一个自定义模块,并接管搜索结果页面回调。然后,它可以显示适当的结果或调用旧的页面回调函数的搜索查询从替代来源。
https://drupal.stackexchange.com/questions/189015
复制相似问题