Magento 2: वर्तमान मुद्रा कोड प्राप्त करें


22

Magento 1 में, आप वर्तमान मुद्रा कोड को पुनः प्राप्त कर सकते हैं:

Mage::app()->getStore()->getCurrentCurrencyCode()

मैं सोच रहा हूँ कि Magento में इसे करने का अनुशंसित तरीका क्या है 2. एक ब्लॉक में मेरे मामले में।

जवाबों:


31

एक ब्लॉक में

Magento 2 में, आप उपयोग कर सकते हैं \Magento\Store\Model\StoreManagerInterfaceएक सुलभ चर में संग्रहीत किया जाता है जो $_storeManagerविस्तार हर वर्ग के लिए \Magento\Framework\View\Element\Templateतो ब्लॉक वर्गों (के सबसे Template, Messages, Redirectब्लॉक प्रकार लेकिन नहीं Textहै और न ही TextList)।

अपने ब्लॉक में इस तरह, आप वर्तमान मुद्रा कोड प्राप्त करने के लिए सीधे निम्नलिखित कोड टाइप कर सकते हैं:

$this->_storeManager->getStore()->getCurrentCurrency()->getCode()

\Magento\Store\Model\StoreManagerInterfaceअपने निर्माण में इंजेक्ट करने की आवश्यकता नहीं है क्योंकि यह किसी भी ब्लॉक वर्ग से सुलभ चर है।

किसी अन्य वर्ग में

आप \Magento\Store\Model\StoreManagerInterfaceअपने कंस्ट्रक्टर में इंजेक्ट कर सकते हैं :

protected $_storeManager;

public function __construct(\Magento\Store\Model\StoreManagerInterface $storeManager)
{
    $this->_storeManager = $storeManager;
}

फिर उसी फ़ंक्शन को ब्लॉक के रूप में कॉल करें:

$this->_storeManager->getStore()->getCurrentCurrency()->getCode()

1
मैं अपने कस्टम मॉड्यूल में phtml पेज में डिफ़ॉल्ट मुद्रा प्रतीक कैसे कह सकता हूं?
पुरुषोत्तम शर्मा

5

इससे प्रेरणा मिलती है Magento\Framework\Pricing\Render\Amountऔर यह मेरे मामले में अच्छा काम कर रहा है (मैगेंटो की तरह व्यवहार करना):

protected $_priceCurrency;

public function __construct(
  ...
  \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency,
  ...
)
{           
  $this->_priceCurrency = $priceCurrency;
  ...
}

/**
 * Get current currency code
 *
 * @return string
 */ 
public function getCurrentCurrencyCode()
{
  return $this->_priceCurrency->getCurrency()->getCurrencyCode();
}

आप मुद्रा प्रतीक भी प्राप्त कर सकते हैं:

/**
 * Get current currency symbol
 *
 * @return string
 */ 
public function getCurrentCurrencySymbol()
{
  return $this->_priceCurrency->getCurrency()->getCurrencySymbol();
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.