过滤和查看不同页面上的屏幕

Posted

技术标签:

【中文标题】过滤和查看不同页面上的屏幕【英文标题】:Filter and View screens on different pages 【发布时间】:2009-10-28 12:35:07 【问题描述】:

情况:在 Drupal 中,当您使用 Views 模块时,它会限制在同一页面上显示 Search Form 和 Results。

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

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

问题:如果我在网站首页上有一个单独的 Filter(Search) Form,然后这个表单将搜索参数提交给实际视图,视图架构是否允许页面(显示结果)。

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

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

这是一个典型/公认的解决方案吗?

【问题讨论】:

请澄清您的问题,如有必要,请使用示例。无法理解您的总体问题是什么。 【参考方案1】:

简答

这是通过视图中的块中公开表单设置自动完成的。

更长的答案

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

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

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

【讨论】:

【参考方案2】:

我不太明白你的意思。

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

【讨论】:

MVC 只是一种模式,但 Drupal 有其自身的局限性,从某种意义上说是否需要编码。我的问题是 Drupal 是否允许干净地实现这样的划分。 好吧,我误会了,对不起。格雷赛德已经完美回答了。下次:-)

以上是关于过滤和查看不同页面上的屏幕的主要内容,如果未能解决你的问题,请参考以下文章

结果页面上的空白屏幕:它去了哪里?

为啥页面宽度大于屏幕宽度? [关闭]

出现屏幕键盘时保留页面布局(iOS/phonegap)

在 Laravel 的页面上应用过滤器后获取表格上的数据

如何将最小高度设置为查看屏幕的 100% 和页面的一半?

几种页面布局方式的简单说明