Drupal视图 - 根据URL过滤内容

时间:2012-08-08 06:48:05

标签: drupal drupal-views drupal-contextual-filters

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

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

例如。如果添加了一个adv,说“abc”,“仅在页面上显示”为“/ blog / europe / *”,那么只有当人们访问url say / blog / europe / france等时,才会显示块“abc”。

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

基本上我想要像下面这样的事情发生:

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

这种类型的过滤器在drupal视图中是否可行?我希望观点可以挽救我的一天。

1 个答案:

答案 0 :(得分:1)

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

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

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

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