情境:在Drupal中,当您使用“视图”模块时,它会限制在同一页面上显示“搜索表单”和“结果”。
E.g。 页面A =(搜索表单+结果)。
视图模块界面中没有选项可将搜索表单移动/复制到另一页面。 例如。 页面A =搜索表单,页面B =结果表单
问题:如果我在网站首页上有一个单独的过滤(搜索)表单,那么View架构是否允许这个表单,然后此表单会将搜索参数提交给实际视图页面(显示结果)。
我最初的目标是在第一页上进行简单搜索,然后显示结果我会在第二页上显示高级搜索表单。
当然,我将使第一个自定义表单具有与原始过滤器形式相同的字段,以便视图可以理解它们。
这是典型/可接受的解决方案吗?
答案 0 :(得分:3)
使用视图中的暴露表单设置自动执行此操作。
如果您想在视图中执行此操作,请在“基本设置”下将在块中的外露表单设置为“是”。这将创建一个包含所有公开过滤器窗体的块。作为一个块,您可以定义它将出现在哪个区域以及哪些页面上。
块中的表单向页面视图的URL提交GET请求,查询字符串由您在公开过滤器中定义的表单元素设置。
例如,如果您在节点标题上创建公开搜索,并保留“标题”的默认过滤器标识符,则您始终可以制作自己的表单,并将其发布到/searchview?title=blah
。我自己也坚持使用积木系统。
答案 1 :(得分:0)
我无法理解你的意思。
将数据发送到另一个页面的搜索表单与MVC模式完全兼容,只要你保持分开(模型中的数据库交互,控制器中的数据操作和视图中的html)。