Magento 2.1
नीचे उल्लिखित ब्लॉक अब है Magento\Checkout\Block\Onepage\Success
Magento 2.0
इस पृष्ठ पर केवल वही चीज़ जो आप मूल रूप से प्राप्त कर सकते हैं वह है ऑर्डर आईडी जिसमें getRealOrderId()
परिभाषित विधि हैMagento\Checkout\Block\Success
इस प्रकार, ऑर्डर आईडी प्राप्त करने के लिए आप अपने टेम्पलेट में निम्नलिखित कॉल कर सकते हैं:
$block->getRealOrderId();
हालाँकि, मैं समझता हूँ कि वास्तव में आपको इसकी आवश्यकता नहीं है।
उस स्थिति में, भले ही आप ऑब्जेक्ट प्रबंधक को सीधे उपयोग कर सकते हों, यह अनुशंसित नहीं है। इस ब्लॉक के लिए पूर्वनिर्धारण को परिभाषित करने के लिए आपको एक कस्टम मॉड्यूल का उपयोग करना चाहिए ।
में app/code/Vendor/Module/etc/frontend/di.xml
आप निम्न कोड की जरूरत है:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Checkout\Block\Success"
type="Vendor\Module\Block\Checkout\Success"/>
</config>
फिर में app/code/Vendor/Module/Block/Checkout/Success.php
:
<?php
namespace Vendor\Module\Block\Checkout;
class Success extends \Magento\Checkout\Block\Success
{
/**
* @return int
*/
public function getGrandTotal()
{
/** @var \Magento\Sales\Model\Order $order */
$order = $this->_orderFactory->create()->load($this->getLastOrderId());
return $order->getGrandTotal();
}
}
सामान्य मत भूलना app/code/Vendor/Module/etc/module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Vendor_Module" setup_version="0.0.1" />
</config>
इसके साथ ही app/code/Vendor/Module/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Vendor_Module',
__DIR__
);
एक बार जब आप काम कर चुके होते हैं और आप निम्नलिखित कमांड चलाते हैं:
php bin/magento module:enable Vendor_Module
php bin/magento setup:upgrade
आपको अपने टेम्पलेट में निम्नलिखित कॉल करने में सक्षम होना चाहिए:
$block->getGrandTotal();
अधिक विधियाँ जोड़ना
आप निम्न को जोड़ सकते हैं जो ब्लॉक वर्ग पर नज़र रखने के लिए उपयोगी हो सकता है:
public function getSubtotal()
{
/** @var \Magento\Sales\Model\Order $order */
$order = $this->_orderFactory->create()->load($this->getLastOrderId());
return $order->getSubtotal();
}
public function getDiscountAmount()
{
/** @var \Magento\Sales\Model\Order $order */
$order = $this->_orderFactory->create()->load($this->getLastOrderId());
return $order->getDiscountAmount();
}
तब आप अपने टेम्पलेट से निम्नलिखित कॉल कर पाएंगे:
$block->getSubtotal();
$block->getDiscountAmount();