1

我正在使用 drupal(7.38)、civicrm(4.6.5)、ubercart(7.x-3.8) 和 ubercart_civicrm(7.x-4.x-dev)。每当用户(注册/匿名)从该站点购买产品时,都会将贡献添加到 civcrm 用户中。如果用户是匿名用户,系统将在 drupal 和 civicrm 中使用电子邮件创建用户。我注意到 ubercart 中的某些产品状态为“已放弃”,但在相应的用户贡献选项卡下,该产品列为已完成。我把uc_civicrm模块扔了,最后我在uc_civicrm/uc_civicrm.module中找到了一些代码

function _uc_civicrm_map_contribution_status($order_status) {
  // NOTE: There may be a more "correct" way to do this.
  $map = array(
    "completed"        => 1,
    "payment_received" => 1,
    "pending"          => 2,
    "processing"       => 5,
    "canceled"         => 3,
    "in_checkout"      => 5,
  );

  if (array_key_exists($order_status, $map)) {
    $id = $map[$order_status];
  }
  else {
    // Oh no.
    $id = 1;
    watchdog('uc_civicrm', 'There is no status that maps to %order_status, marking as "Complete"', array('%order_status' => $order_status), WATCHDOG_WARNING);
  }

  return $id;
}

我想将 ubercart 订单状态与 civicrm 捐款状态同步。请帮我解决这个问题。提前致谢

4

2 回答 2

1

如果您想将“已放弃”映射到 CiviCRM 中的“已取消”状态(CiviCRM 中没有“已放弃”状态),您可以像这样修改上面的内容:

$map = array(
 "completed"        => 1,
 "payment_received" => 1,
 "pending"          => 2,
 "processing"       => 5,
 "canceled"         => 3,
 "abandoned"         => 3,
 "in_checkout"      => 5,
);

然后我建议对您在项目页面提交的问题进行错误报告/补丁,以便在维护人员同意的情况下进入模块核心。

于 2015-11-04T21:39:50.983 回答
0

在我们拥有 CiviCRM 和 Ubercart 的一个站点上(它是 Drupal 6),我们最终需要同时使用两者 - UC CiviCRM, - Ubercart CiviCRM 产品 ,但我看到后者仅针对 D6 发布

最近,对于 Commerce 集成,我们已从使用该模块切换到使用CiviCRM EntityDrupal 规则

不知道上面有多少帮助,但我想我应该提到它。

于 2015-11-02T19:50:31.620 回答