在Magento 2.2中获取会话值,Order_id和order_amount

时间:2018-08-15 19:49:24

标签: magento2

如何在Magento 2.2中获取会话值,Order_id和order_amount,order_currency,customer_receipt_email

我可以在外部php文件中显示它吗? /或如何测试?

1 个答案:

答案 0 :(得分:0)

我必须告诉您,有多种获取所需信息的方法,每种方法取决于您需要的信息或需要的位置

以下内容将为您提供所需的所有信息

<?php
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
    $order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($block->getOrderId())
    $orderItems = $order->getAllVisibleItems(); 
    $products = [];

    $customerSession = $objectManager->get('Magento\Customer\Model\Session');

    if($customerSession->isLoggedIn()) {
        $customer_email= $customerSession->getCustomer()->getEmail(); 
    } else {
        $customer_email= ''; 
    }

    foreach ($orderItems as $item) {
        $products[] = [
            'id'=>$item->getProduct()->getId(),
            'price' =>$item->getPrice(),
            'quantity' =>intval($item->getQtyOrdered()) 
        ]; 
    }  
?>


<?php echo $customer_email; ?>
<?php echo json_encode($products); ?>
<?php echo $block->getOrderId(); ?>

如果需要更多说明,请告诉我

我已经做过类似的事情,请拉动项目并使用您,欢迎您随意拉动项目并进行修改,您可能不需要做很多事情,只需添加额外的字段,然后删除不需要的字段即可,具体取决于您的银行要求https://github.com/emmaajoku/Zenith-payment-gateway-for-Magento-2-master