如何在Magento 2.2中获取会话值,Order_id和order_amount,order_currency,customer_receipt_email
我可以在外部php文件中显示它吗? /或如何测试?
答案 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