1

我有一个显示特定内容类型(广告)的视图。我的内容类型有一个“仅在页面上显示”字段,它是一种文本类型。在这里,我将给出应该显示特定内容的页面。

我创建了一个显示在 /blog 上的块,它显示了所有广告内容。但如果网址匹配,我希望广告仅在块中显示。

例如。如果添加了一个广告,说“abc”,“仅在页面上显示”为“/blog/europe/*”,那么只有当人们访问一个 URL 时,才应该在块中显示“abc”,比如 /blog/europe/france 等。

现在我创建了一个视图,但我不知道如何将“仅在页面上显示”字段作为参数传递给视图。

基本上我希望发生以下情况:

if "page url" contains "show only on field" then select the content
else don't select.

这种类型的过滤器是否可以在 drupal 视图中使用?我希望意见论点可以挽救我的一天。

4

1 回答 1

1

将参数传递给视图有不同的方法,具体取决于您显示视图的方式。我希望我能正确理解你的问题。听起来您想通过“仅在页面上显示”字段的值过滤视图的内容。要过滤的“仅在页面上显示”的实际值是通过 URL 传递的。

为此,您必须在视图中添加上下文过滤器。然后,您可以将“仅在页面上显示”的值作为 URL 中的参数添加到该视图。在这种情况下,当您加载视图时,它将仅显示那些“仅在页面上显示”字段等于您在 URL 中传递的值的节点。

例如,页面视图的路径可能是“path/to/view”。然后,您将在此 url 中添加“仅在页面上显示”参数(例如“path/to/view/value_of_show_only_on_page”)。当您使用此 URL 时,您的视图将被过滤,因此仅显示“仅在页面上显示”的值等于“value_of_show_only_on_page”的内容。

注意 Drupal 6 中的“上下文过滤器”在 Views UI 中被称为“参数”。

于 2012-08-08T08:33:17.980 回答