ম্যাজেন্টো 1-এ, আপনি বর্তমান মুদ্রা কোডটি এটির মাধ্যমে পুনরুদ্ধার করতে পারেন:
Mage::app()->getStore()->getCurrentCurrencyCode()
আমি ভাবছি যে Magento 2 এ এটি করার প্রস্তাবিত উপায় কী a আমার ক্ষেত্রে কোনও ব্লকের ক্ষেত্রে।
ম্যাজেন্টো 1-এ, আপনি বর্তমান মুদ্রা কোডটি এটির মাধ্যমে পুনরুদ্ধার করতে পারেন:
Mage::app()->getStore()->getCurrentCurrencyCode()
আমি ভাবছি যে Magento 2 এ এটি করার প্রস্তাবিত উপায় কী a আমার ক্ষেত্রে কোনও ব্লকের ক্ষেত্রে।
উত্তর:
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()
এটি থেকে অনুপ্রেরণা গ্রহণ করে 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();
}