如何在没有节点引用字段的情况下加入两个 Drupal CCK 内容类型?

Posted

技术标签:

【中文标题】如何在没有节点引用字段的情况下加入两个 Drupal CCK 内容类型?【英文标题】:How to join two Drupal CCK content types in view without a node reference field? 【发布时间】:2012-01-31 03:17:19 【问题描述】:

用户上传了两个 csv 文件来为两种 CCK 内容类型(送货单和付款)创建节点,即

 Delivery       Payment
----------     ---------
 Order No.      Order No.
 Recipient      Charge
 Address

我想为老板创建一个视图作为报告:

 Order No.  Recipient  Charge
 ---------  ---------  -------
  ...        ...        $...
  ...        ...        $...
  ...        ...        $...

订单号字段是唯一的,并且是两种内容类型。

在 Drupal 看来怎么可能做到这一点?

【问题讨论】:

【参考方案1】:

我相信您正在寻找视图关系。退房drupal views relationships 视频教程。

【讨论】:

该视频展示了一个带有 参考字段(用户参考)的示例。我想知道是否有可能没有这样的参考字段。 我想我的问题是,如果两个表的订单号都是唯一的,您如何在表之间建立关系?恕我直言,观点可能相当有限。有时最好编写自己的查询。我相信它是为了帮助那些不太懂 sql 并快速构建简单 sql 语句的人。【参考方案2】:

我最终使用 View Custom Field 和 php code 字段通过另一个视图检索链接结果:

<?php

$order_no = $data->node_data_field_order_no_field_order_no_value;
if ($order_no) 
  $view = views_get_view('find_cck_node');
  $view->set_arguments(array('PAYMENT', $order_no));
  $view->execute();
  if (count($view->result)) 
    $value = $view->result[0]->node_data_field_payment_amount_field_payment_amount_value;
    print($value);
  


?>

【讨论】:

以上是关于如何在没有节点引用字段的情况下加入两个 Drupal CCK 内容类型?的主要内容,如果未能解决你的问题,请参考以下文章

使用 querySelectorAll 时,有没有办法在不使用 ID 的情况下引用上下文节点的直接子节点?

如何在不创建引用插座的情况下访问静态 TableViewcells 中的文本字段?

加入组合框的 ID

如何在doctrine zend中没有实体的情况下继续加入查询构建器

设置 Drupal 节点引用自动建议搜索两个单独的字段

JAVA如何在不复制新实例引用的情况下更改实例字段值[重复]