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

发布于 2024-10-15 21:56:41 字数 189 浏览 2 评论 0原文

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

汇总查询:
浏览次数:类型用户
参数:术语 ID/词汇 ID
过滤器:节点类型 abc 的作者
字段:所有配置文件/内容配置文件字段

我怎样才能实现这样的解决方案?

In drupal6 using views I want a (block) list of authors (with complete profile fields) of some specific node type AND taxonomy term.id OR vocabulary.id

Summarized query:
Views: type user
Argument: Term ID/Vocabulary ID
Filters: Author of Node type abc
Fields: All Profile/Content Profile Fields

How can I achieve such solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

远山浅 2024-10-22 21:56:41

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

因此,我最终创建了一个自定义块来使用如下代码显示此信息:

<?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'));
?>

希望有所帮助。

I have the same issue. I found that if I filtered by node.type = 'blog' and set fields for the profile fields I was interested in, I could get a list or authors, but there would be duplicates. Setting 'Distinct' to Yes didn't help because it was selecting out distinct nodes, not distinct users.

So I ended up creating a custom block to show this information with some code like this:

<?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'));
?>

Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文