Drupal视图:节点的作者列表,其中node.type = abc和node.vocabulary_id = 123

时间:2011-02-03 17:41:06

标签: drupal-6 drupal-views

在使用视图的drupal6中,我想要一个(块)作者列表(带有完整的配置文件字段)某些特定节点类型和分类法term.id OR词汇表.id

汇总查询:
视图:输入用户
参数:术语ID /词汇ID
过滤器:节点类型abc的作者 字段:所有个人资料/内容个人资料字段

我如何实现这样的解决方案?

1 个答案:

答案 0 :(得分:1)

我有同样的问题。我发现,如果我按node.type ='blog'过滤并为我感兴趣的配置文件字段设置字段,我可以获得一个列表或作者,但会有重复。将“Distinct”设置为Yes并没有帮助,因为它选择了不同的节点,而不是不同的用户。

所以我最终创建了一个自定义块,用这样的代码显示这些信息:

<?php
$block['subject'] = t('Bloggers');
    // Get a list of blog authors
    $result = db_query('SELECT DISTINCT u.uid, u.name FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = \'blog\'');
    $links = array();
    while ($blogger = db_fetch_object($result)) {
      $link = array();
      if (module_exists('profile')) {
        profile_load_profile($blogger);
      }
      if (!empty($blogger->profile_first_name) || !empty($blogger->profile_last_name)) {
        $link['title'] = $blogger->profile_first_name . (empty($blogger->profile_first_name) ? '' : ' ') . $blogger->profile_last_name;
      }
      else {
        $link['title'] = $blogger->name;
      }
      $link['href'] = 'blog/' . $blogger->uid;
      $links[] = $link;
    }
    $block['content'] = theme('links', $links, array('class' => 'flat-links'));
?>

希望有所帮助。