1

Drupal 6 と Ubercart 2 を使用して製品を販売するサイトを持っています。各製品は外部の作成者によって提供され、参照されており、その人は各売上のパーセンテージを取得しています。

CCKフィールドを使用して、プレーンテキストの数値であるユーザー参照フィールドと手数料フィールドを作成しました(つまり、手数料率60%の「60」)

プロバイダーがログインして、販売の合計数、販売されたすべてのアイテムの合計金額、その製品のコミッション %、および受け取った合計金額を確認できるビュー ページを作成しています。

PHP を使用してすべての計算をセットアップし、それ以外はすべて Customfield モジュールを使用しました。Views を使用して特定の製品の合計販売数を取得する方法を知る必要があるだけです。

私は当初、Ubercart order product: Qty フィールドでそれを行うと考えていましたが、それは特定の注文で販売された数量、またはそのようなものを引き出します。

/admin/store/reports/products にある Ubercart のレポート ページには、各製品の総売上が表示されるので、それが可能であることはわかっていますが、彼らがどのようにそれを行ったかを見るにはプログラミングが得意ではありません。

経験豊富なユーザーにとっては、かなり簡単なはずだと思います。

誰?

4

1 に答える 1

2

やったよ!私はそれを理解したなんて信じられない。ただし、uc_reports.admin.inc の 219 行目が重要でした。

これは、特定の製品の合計販売数を取得するために行ったことです。

ビューで、ノード ID フィールドを作成し、表示から除外しました。次に、Customfield PHP コード フィールドを作成し、次のコードを使用しました。ここで、$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 を使用して、総売上データを他のフィールドに取り込みましたが、具体的な数値は異なる場合があります。ここで注意すべき唯一のことは、他の Customfield PHP Code フィールドの 1 つを削除した場合、戻って $data->customfield_phpcode_3 を必要な新しい番号に変更する必要があることです。

今見ると、すべてがパイのように簡単に思えます。

于 2012-06-29T16:10:20.477 に答える