1

我有一个使用 Drupal 6 和 Ubercart 2 销售产品的网站。每个产品都由外部创建者提供并引用,并且该人从每次销售中获得一定比例。

我使用 CCK 字段创建了一个用户参考字段和佣金字段,它是一个纯文本数字(即“60”代表 60% 的佣金率)

我正在创建一个视图页面,供应商可以在其中登录并查看销售总数、所有已售商品的总金额、该产品的佣金百分比以及他们将收到的总金额。

我已经使用 PHP 和 Customfield 模块设置了所有计算,我只需要知道如何使用 Views 提取任何给定产品的销售总数。

我最初认为 Ubercart 订单产品:数量字段会这样做,但这会拉动给定订单中的销售数量,或者类似的东西。

/admin/store/reports/products 上的 Ubercart 报告页面显示了每种产品的总销售额,所以我知道这是可能的,但我在编程方面还不够好,无法了解他们是如何做到的。

我认为对于有经验的用户来说应该很简单。

任何人?

4

1 回答 1

2

我做的!我不敢相信我想通了。来自 uc_reports.admin.inc 的第 219 行是关键。

这是我为获得给定产品的总销售额所做的工作。

在我的视图中,我创建了一个节点 ID 字段并将其从显示中排除。然后我创建了一个 Customfield PHP Code 字段并使用了以下代码,其中 $data->node_vid 从我最初创建的字段中提取节点 ID。

<?php
$sold = db_result(db_query("SELECT COUNT(*) FROM {uc_order_products} AS p LEFT JOIN {uc_orders} AS o ON p.order_id = o.order_id WHERE o.order_status ='completed' AND p.nid = '$data->node_vid'"));
print $sold;
?>

然后,我创建了更多带有一些基本 PHP 数学函数的 Customfield PHP Code 字段,以生成我在其他字段中需要的内容。

我使用 $data->customfield_phpcode_3 将总销售数据提取到其他字段中,您的具体数字可能会有所不同。此处唯一需要注意的是,如果您删除了其他自定义字段 PHP 代码字段之一,则必须返回并将 $data->customfield_phpcode_3 更改为所需的任何新数字。

现在我看着它,这一切似乎都很容易。

于 2012-06-29T16:10:20.477 回答