Drupal 7 ubercart放弃的订单在civicrm中标记为已完成
我正在使用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中找到了一些代码Drupal 7 ubercart放弃的订单在civicrm中标记为已完成,drupal-7,ubercart,civicrm,Drupal 7,Ubercart,Civicrm,我正在使用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.mo
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供款状态同步。请帮我解决这个问题。提前感谢在一个我们拥有CiviCRM和Ubercart的网站上(它是Drupal 6),我们最终需要同时使用这两种工具 - , - 但我看到后者只是为D6发布的 最近,对于商业集成,我们已经从使用模块切换到使用和
不确定上述内容有多大帮助,但认为我应该提及。如果您想将CiviCRM中的“放弃”状态映射到“取消”状态(CiviCRM中没有“放弃”状态),您可以这样修改上述内容:
$map = array(
"completed" => 1,
"payment_received" => 1,
"pending" => 2,
"processing" => 5,
"canceled" => 3,
"abandoned" => 3,
"in_checkout" => 5,
);
然后我建议做一个bug报告/补丁,以便在维护人员同意的情况下进入模块核心。Hey@Thron,谢谢你的建议。这可能是目前最简单、最好的解决方案。没问题。另外,你知道专门针对公民的StackExchange吗?是的,我知道。我也把问题贴在那里了。谢谢你的重播。我会试试你的建议,我会让你知道的