如何根据拉入附加视图的内容从默认的Drupal View中过滤出内容?

时间:2010-10-05 02:53:32

标签: php drupal drupal-6 drupal-views drupal-modules

目前:

我有一个页面视图,显示标记为“未显示”的所有内容,并带有简单的CCK下拉列表。

视图的附件显示所有“特色”的内容,并且风格更加令人印象深刻。

喜欢能够做的是在附加视图的顶部显示一些,比方说3个特色项目,并显示所有内容,无论是否有特色如下所示,排除附件中显示的3。

使用Views UI实现此目的的最简单方法是什么?如果需要,可能还有一两个自定义模块?

我正在使用Drupal 6和Views 2

1 个答案:

答案 0 :(得分:2)

有多种方法可以做到这一点。以下是一些替代方案

  1. (使用您的方法)我的理解是您正在使用具有“特色”状态的CCK选择列表字段(称为FState)。基本上,您需要显示附件显示中的项目,并显示页面视图中未显示的项目。
    • 在附件视图中,您应添加一个Content: FState = Featured的过滤器。您可以通过在“视图”过滤器下拉列表中选择“内容”组来执行此操作。选择Content: FState (field_fstate) - Allowed values。选择Featured。确保运算符为is one of
    • 在页面视图中执行完全相同的操作,但请确保操作符为is none of
  2. 如果我自己这样做,我会使用一个nodequeue模块(http://drupal.org/project/nodequeue)来表示精选内容。对于我的附件视图,我将确保项目在nodequeue中,对于页面视图,我将确保项目不在nodequeue中(使用正确的过滤器)。互联网上有很多关于使用nodequeue并将它们与视图集成的资料。
  3. 另一个选择是使用标志模块(http://drupal.org/project/flag),但我怀疑nodequeue会更适合你。
  4. 修改 根据您的意见,我更了解您的要求。也许你正在将一些语言混合在一起,这可能会让局外人感到困惑。当您说“精选”内容时,这意味着内容会被特别显示。因此,当您说“特色”内容也会出现在页面视图中以及无法使用的内容时,这也很令人困惑。

    无论如何总结这里是我明白你的要求是什么(继续以你的方式使用“特色”)

    1. 您有两种观点:附件 查看和页面视图。附件 视图多一点 有吸引力的。
    2. 附件视图中显示的新闻文章不会显示 在页面视图
    3. 让我们说附件视图可以容纳4篇文章
    4. 有时您会将文章标记为“精选”。最新的4篇文章 那些“特色”出现在 附件视图。在页面视图中, 所有新闻文章也显示在 时间顺序无论如何 他们是否被标记为 “特色”或过去没有。唯一的条件 是应该没有 附件之间重复 查看和页面视图。
    5. 您的规范中有一点疑问....忘记您的CCK选择字段一秒钟。我的问题是:您是否想要(a)在附件视图中按时间顺序简单地显示4 最新的“精选”文章或(b)您是否要明确确定项目及其顺序附件视图?

      如果(b)你可以选择一篇可能是1个月大的文章,因为它是一篇引人入胜的文章,你仍然希望继续展示它。在(a)中你没有这种灵活性。随着新的“特色”文章的制作,旧的文章从附件视图中移出。

      当然对于案例(a)& (b)附件视图中显示的文章不会出现在页面视图中(这应该始终成立)。

      对于情况(a),您应该将节点队列模块用于附件视图,对于案例(b),您可以继续使用CCK选择列表方法来提取特色文章,就像您当前为附件视图所做的那样。要防止在页面视图中出现重复项,请使用http://drupal.org/project/views_uniquehttp://drupal.org/project/views_exclude_previous模块