视图 1:按自定义表/字段过滤(或使用 Argument Hand.Code)

Posted

技术标签:

【中文标题】视图 1:按自定义表/字段过滤(或使用 Argument Hand.Code)【英文标题】:Views 1: Filter by custom table/field (or using Argument Hand. Code) 【发布时间】:2010-07-05 14:51:39 【问题描述】:

我有一个应该列出节点的页面。从位置页面(分类术语页面)调用视图。我需要的几乎与使用分类法相同:参数中的 tid 并传递 tid。 我不能使用 term_node 表,因为(出于其他原因)我们有一个自定义表 term_node_hierarchy (仅包含 nid 和 tid)。表 term_node_hierarchy 类似于 term_node 但也保存了父母的 tid(来自“外部”代码)

我一直在寻找选择,但仍然没有快乐。

目前我正在构建一个应该显示在当前页面上的 nid 数组,并像 print views_build_view('embed', $view, $matching_nids); 一样传递它们,但参数 Node: ID 声明 This argument is a single Node ID. 如前所述,只有打印视图时显示第一个节点。如果它可以过滤多个nid,那就太好了。

我愿意接受任何关于如何做到这一点的建议。

谢谢

【问题讨论】:

【参考方案1】:

您可以为此创建自己的模块。您可以使用您自己的自定义查询的结果填充 $page_content 变量,您可以在其中允许用户针对多个 nid 进行排序。你可以通过多种不同的方式做到这一点。您可以显示带有相应复选框的现有 nid 的列表,这样,当用户单击提交时,与所选复选框匹配的所有 nid 都会在查询中使用。然后,您只需显示该查询的结果。这是我能想到的提供这种程度的灵活性的最简单的方法。

【讨论】:

我目前正在 tpl.php 页面上进行查询,所以我认为它非常相似。我的目标是使用更少的代码,基本上是希望某种函数可以让我通过 nid 数组进行过滤。与其他人交谈,我发现这在 Drupal 6 / Views 2 中是可行的,但在 Views 1 上却不行。

以上是关于视图 1:按自定义表/字段过滤(或使用 Argument Hand.Code)的主要内容,如果未能解决你的问题,请参考以下文章

按自定义日期范围输入过滤 wordpress 帖子

Google Analytics:按自定义维度过滤

AngularJS 以编程方式从服务调用过滤器(按自定义过滤器排序)

无法在 Drupal 7 的视图中对自定义字段进行排序或过滤

在 Django admin 中按自定义日期范围过滤

php 按自定义属性过滤产品