首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zen Cart使用Post affiliate pro id更新数据库

Zen Cart使用Post affiliate pro id更新数据库
EN

Stack Overflow用户
提问于 2012-10-24 05:50:00
回答 2查看 214关注 0票数 0

我们正在创建一个专业购物车的过程中,当我们的客户进行购买时,它在购买时在数据库中记录代销商id。我创建了以下代码来使用Post affiliate Pro API获取代销商id/名称。

代码语言:javascript
复制
include ("affiliate/api/PapApi.class.php");
$session = new Gpf_Api_Session("https://www.elitespecialtymeats.com/affiliate/scripts/server.php"); 
if(!$session->login("user", "password")){ die("Cannot login. Message: ".$session->getMessage()); }
$clickTracker = new Pap_Api_ClickTracker($session);
try {
    $clickTracker->track();
    $clickTracker->saveCookies();
    if ($clickTracker->getAffiliate() != null){ $affid=$clickTracker->getAffiliate()->getValue('username'); }
    else{ $affid=''; }
}catch (Exception $e){
    $affid='';
}

我正在尝试找出将该id添加到购买中的最佳方法。我认为最好将其添加到tpl_checkout_success_default.php中,在那里他们将购买记录到PAP中。我的问题是我对系统没有足够的了解来实现代码。

我最好的猜测是

代码语言:javascript
复制
 $db->Execute("UPDATE ".TABLE_ORDERS_TOTAL." SET affid='$affid' where orders_id = '".(int)$orders->fields['orders_id']."' AND class in ('ot_coupon', 'ot_gv', 'ot_subtotal', 'ot_group_pricing', 'ot_quantity_discount')");

这能行得通吗?还是我会把事情搞砸?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 13:52:15

首先,使用API加载联盟用户名( ...getValue(' username ') ),而不是您在第一段中所说的联盟ID。您应该使用getValue('userid');(用于代销商ID)或getValue('refid');(用于推荐人ID)。

您尝试使用的数据库命令仅在表TABLE_ORDERS_TOTAL包含名为'affid‘的列的情况下有效。您可以手动将其添加到表中...

我想知道你为什么要做这样的事情...看起来你想在以后使用这个ID做一些特殊的事情。你想给原来的推荐人佣金吗,即使客户同时删除了所有的cookie或点击了另一个会员的横幅?如果是这样的话,你应该使用终生佣金:http://support.qualityunit.com/541587-Lifetime-commissions

如果您需要任何其他帮助,请随时联系我们的在线支持。

票数 0
EN

Stack Overflow用户

发布于 2012-10-24 20:34:55

你可能想看看JROX是怎么做的--他们是一个在Zen Cart中很受欢迎的联盟营销系统。它在这里描述:http://jam.jrox.com/docs/index.php?article=111

基本上,他们只是将自己的逻辑放在结账成功页面的页脚上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13039870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档