0

情况:在 Drupal 中,当您使用 Views 模块时,它限制在同一页面上显示搜索表单和结果。

例如,页面 A =(搜索表单 + 结果)

视图模块界面中没有将搜索表单移动/复制到另一个页面的选项。例如,页面 A = 搜索表单,页面 B = 结果表单

问题:如果我在站点首页上有一个单独的过滤器(搜索)表单,视图架构是否允许,然后此表单将搜索参数提交到实际视图页面(显示结果)。

我最初的目标是在第一页上进行简单搜索,然后显示结果,我将在第二页上显示高级搜索表单。

当然,我要让第一个自定义表单具有与原始过滤器表单相同的字段,以便视图能够理解它们。

它是典型/公认的解决方案吗?

4

2 回答 2

3

简短的回答

这是通过视图中的“显示在块中的表单”设置自动完成的。

更长的答案

如果您想从视图中执行此操作,请将基本设置下的块中的公开表单设置为“是”。这将创建一个包含所有公开过滤器表单的块。作为一个块,您可以定义它将出现在哪个区域以及在哪些页面上。

块中的表单向您的页面视图的 URL 提交一个 GET 请求,查询字符串由您在公开的过滤器中定义的表单元素设置。

例如,如果您在节点标题上创建公开搜索,并保留“标题”的默认过滤器标识符,则您始终可以制作自己的发布到/searchview?title=blah. 我自己会坚持使用积木系统。

于 2009-10-28T18:04:44.240 回答
0

我不太明白你的意思。

将数据发送到另一个页面的搜索表单与 MVC 模式完全兼容,只要您保持兴趣分开(模型中的数据库交互,控制器中的数据操作和视图中的 html)。

于 2009-10-28T13:36:28.480 回答