Magento Checkout成功页面产品价格和SKU回顾

Ela*_*gan 5 magento

我想将Commission Commission添加到我的客户端站点,因为他们询问了每个产品的sku和价格.在确认页面/成功页面之后,我们只需要传递值.但在这里我如何获得所有产品细节.包括sku,价格我需要通过.有没有办法单独获取每个产品的详细信息.

谢谢Suresh

Ela*_*gan 7

是的,你是对的@leek

但是如果你想用CJ添加高级设置,那么请遵循这个方法.

<!-- Start of CJ Integration Part -->
<?php
    $_customerId = Mage::getSingleton('customer/session')->getCustomerId();
    $lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();
    $order = Mage::getSingleton('sales/order'); 
    $order->load($lastOrderId);
    $_totalData =$order->getData(); 
    $_sub = $_totalData['subtotal'];//USD ==> global_currency_code,base_currency_code order_currency_code
    // Incase if it is simple do this ==> https://www.emjcd.com/u?AMOUNT= $_sub; 
    //print_r($order); print_r($_totalData);

    $_order   = $this->getOrder();
    $allitems = $order->getAllItems();
    $index    = 1;
    $cjData   = "";//Needed format ==> &ITEM1=3214sku&AMT1=13.49&QTY1=1&ITEM2=6577sku&AMT2=7.99&QTY2=2&
    foreach($allitems as $item)
    {
      $cjData.="&ITEM".$index."=".$item->getSku()."&AMT".$index."=".$item->getPrice()."&QTY".$index."=".$item->getQtyToShip();
      $index++;
    }
?>
<div style="display:none;">
    <img src="https://www.emjcd.com/u?CID=id&OID=<?php echo $this->getOrderId(); ?>&TYPE=type<?php echo $cjData; ?>&CURRENCY=USD&METHOD=IMG" height="1" width="20"> 
</div>
<!-- End of CJ Integration Part -->
Run Code Online (Sandbox Code Playgroud)

它工作得很好.


clo*_*eek 6

观看这样的活动:

<config>
    <global>
        <events>
            <sales_order_place_after>
                <observers>
                    <yourmodule_order_place_after>
                        <class>yourmodule/observer</class>
                        <method>onSalesOrderPlaceAfter</method>
                    </yourmodule_order_place_after>
                </observers>
            </sales_order_place_after>
        </events>
    </global>
</config>
Run Code Online (Sandbox Code Playgroud)

接下来,您需要一些东西来处理事件.

app/code/local/Yourcompany/Yourmodule /Model/Observer.php

<?php

class Yourcompany_Yourmodule_Model_Observer {

    public function onSalesOrderPlaceAfter($observer) {
        $order = $observer->getOrder();
        /* @var $item Mage_Sales_Model_Order_Item */
        foreach ($order->getItemsCollection() as $item) {
            // Do something with $item here...
            $name = $item->getName();
            $price = $item->getPrice();
            $sku = $item->getSku();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

请参阅数据库表"sales_flat_order_item"或执行a var_dump($item->debug())以查看可用的值类型.由于它是一个平面表,找到有关产品的更多信息的唯一方法是这样的:

$product = Mage:getModel('catalog/product')->load($item->getProductId());
$product->getDescription();
Run Code Online (Sandbox Code Playgroud)