2011-08-10 15 views
2

Magentoマルチサイトでは、非営利団体にパーセンテージを返すようになっています。私たちがやりたいことは、顧客がどの非営利団体かグループ内のグループを選択できるようにすることですパーセンテージを受け取る非営利団体。Magento - 返信先

お客様は「{非営利団体名}に寄付されました」という名前のディスカウントコードを入力することができると考えましたが(実際の金額は購入から差し引かれていません。 0%のディスカウントコードを持つことができると思います)、内部的にはその非営利団体にパーセンテージを返すことを知っています。

これを行うにはちょっと変わったようですが、最後に非利益を落とすほうが良いでしょうが、その作成方法はわかりません。

これを行う簡単な方法はありますか?

ありがとうございます!

答えて

1

属性を見積/注文モデルに追加して、適切な値を属性に追加してカートレベルに入力できますか?過去に構築したアフィリエイトモジュールのためにやったと思います。

お客様がカートからチェックアウトに移動する際に値を取得するカスタムコントローラーが必要です。つまり、Cart -> Checkoutステップをストレートリンクではなくフォーム送信にする必要があります。

その後、月の終わりに、あなたはの線に沿って何かをコレクションにレポートを実行する必要があります:

// I've added a * in the SELECT because I'm not sure of the attribute names off the top of my head :) 
$collection = Mage::getModel('sales/order')->getCollection() 
    ->addAttributeToSelect('*') 
    // Make sure the orders are in the correct date range 
    ->addAttributeToFilter(...) 
    // Make sure the orders are in a valid state, e.g. processing, pending, complete, etc.. 
    ->addAttributeToFilter(...) 

$donation_total = array(); 
foreach ($collection as $order) { 
    // You'll have to investigate the attribute values for these 
    $charity = $order->getData('charity_attribute_code'); 
    $order_total = $order->getData('order_total_attribute_code'); 

    if (!isset($donation_total[$charity])) { 
     $donation_total[$charity] = 0; 
    } 

    $donation_total[$charity] += $order_total; 
} 

print_r($donation_total); 

あなたが適切でSUM() INGと、これは、より効率的に作ることができますクエリ。

関連する問題