আমি ম্যাজেন্টো ২ তে মুদ্রা বিন্যাসে রূপান্তর করতে চাই যেমন আমরা এর সাথে ম্যাজেন্টো 1.x তে করি
$_coreHelper = $this->helper('core');
$_coreHelper->currency(number_format(50,2),true,false)
Magento2 এ কীভাবে করবেন?
আমি ম্যাজেন্টো ২ তে মুদ্রা বিন্যাসে রূপান্তর করতে চাই যেমন আমরা এর সাথে ম্যাজেন্টো 1.x তে করি
$_coreHelper = $this->helper('core');
$_coreHelper->currency(number_format(50,2),true,false)
Magento2 এ কীভাবে করবেন?
উত্তর:
ম্যাজেন্টো 2-তে কোনও 'কোর' মডিউল নেই। ভিউ ফাইলের (। Phtml) ভিতরে প্রবেশ করে আপনি এটি পেতে পারেন
$ This-> সাহায্যকারী ( 'Magento \ ফ্রেমওয়ার্ক \ প্রাইসিং \ সাহায্যকারী \ ডেটা') -> কারেন্সি (number_format (50,2), সত্য, মিথ্যা);
currency()
পদ্ধতি রূপান্তর করতে বর্তমান স্কোপ মুদ্রা ব্যবহার করবে।
number_format()
$this->helper('Magento\Framework\Pricing\Helper\Data')->currency(50),true,false);
currency($value, $format = true, $includeContainer = true)
সবার আগে আপনার ভিউ (.phtml) ফাইলের ভিতরে মুদ্রা বিন্যাস করবেন না, সাহায্যকারী বা ব্লক বা উভয়ের সংমিশ্রণটি ব্যবহার করুন।
স্বীকৃত উত্তরটি এমন number_format
ফাংশন ব্যবহার করে যা মোটেও ব্যবহার করা উচিত নয়, কমপক্ষে আমি সেই পদ্ধতির সাথে যাব না।
আপনি একটি মডেল ব্যবহার করে দেখতে পারেন:
মডেল টাইপ Magento\Directory\Model\Currency
। ফাংশন format()
এটা যেমন এক দশমিক স্থান এবং বিন্যাস জন্য দায়ী।
ভেরিয়েবল ধরে নেওয়া উদাহরণ $model
এবং $product
তাত্ক্ষণিকভাবে করা হয়েছে:
$model->format($product->getPrice(), array('symbol' => ''), false, false)
$
পরিমাণের পাশে ডলার ছাড়াই বিন্যাসের জন্য 2 দশমিক স্থান । array()
আপনি যদি আপনার পরিমাণে স্টোর মুদ্রা যুক্ত করতে চান তবে খালি পাস করুন ।
Magento\Directory\Model\Currency
এবং কেন এটি ব্যবহার করা উচিত? এটি কি বর্তমান স্টোরভিউ মুদ্রার কনফিগারেশন বা গ্রাহক দ্বারা নির্বাচিত মুদ্রার দিকে নজর দিচ্ছে?
Currency
ডিরেক্টরী মডিউলে যেভাবে আমি এটি মডেল দেখছি @ এরফান চূড়ান্ত মূল্যের মানটি হস্তান্তর করার জন্য সহায়ক like ফ্রেমওয়ার্কের সহায়তার উদাহরণে আপনি দামটিকে দোকানের সঠিক মুদ্রায় রূপান্তর করতে সক্ষম হবেন তবে এই পরিমাণের যথাযথতার উপর আপনার কোনও নিয়ন্ত্রণ নেই এবং এটি কাস্টমাইজ করার জন্য ক্লাসগুলি প্রসারিত করতে হবে। মুদ্রা বিপরীত যেখানে এটি চূড়ান্ত রাশি আশা কিন্তু আপনি ফর্ম্যাটিং কাস্টমাইজ করতে পারবেন, দশমিক নির্ভুলতা, ইত্যাদি হয়
আপনি যা করতে চান তা হ'ল যে আপনি এটি ব্যবহার করতে চান সেই টেম্পলেট ফাইলটির ব্লকের " প্রাইস কারঙ্কেন্সি ইন্টারফেস " ইনজেক্ট করা।
template.phtml
<div><?= $block->getFormatedPrice('342.4345') ?>
আইটেম.এফপি (উপরের টেমপ্লেটের ব্লক ক্লাস ... যাই হোক না কেন)
<?php
namespace \Whatever
use Magento\Framework\Pricing\PriceCurrencyInterface;
use Magento\Framework\View\Element\Template;
class Item extends Template
{
/** @var PriceCurrencyInterface $priceCurrency */
protected $priceCurrency;
public function __construct(
Template\Context $context,
PriceCurrencyInterface $priceCurrency,
array $data = []
) {
parent::__construct($context, $data);
$this->priceCurrency = $priceCurrency;
}
/**
* Function getFormatedPrice
*
* @param float $price
*
* @return string
*/
public function getFormatedPrice($amount)
{
return $this->priceCurrency->convertAndFormat($amount);
}
বর্তমান স্টোর লোকেলের উপর ভিত্তি করে সঠিক ফর্ম্যাটটি প্রদর্শন করার এটির অতিরিক্ত সুবিধা রয়েছে। এটি এমন অন্যান্য পদ্ধতিও সরবরাহ করে যা সহায়ক হতে পারে, তাদের পরীক্ষা করে দেখুন ...
আপনি যে ফলাফলটি ধারক এবং যথার্থ হিসাবে প্রদর্শন করতে চান ফলাফলটি কনফিগার করতে পারেন সেজন্য পদ্ধতিটির স্বাক্ষরটি যাচাই করে নিন ।
priceCurrency->convertAndFormat($amount, $includeContainer, $precision)
চিয়ার্স!
আপনি ভিউ ফাইলের (। Phtml) ভিতরে প্রবেশ করে এটি পেতে পারেন।
$ মূল্য = 5.5; $ This-> সাহায্যকারী ( 'Magento \ ফ্রেমওয়ার্ক \ প্রাইসিং \ সাহায্যকারী \ ডেটা') -> মুদ্রা ($ মূল্য, সত্য, মিথ্যা);
currency($value, $format = true, $includeContainer = true)
$this->
আমি কোনও ফাংশনের অভ্যন্তরে আপনার পরামর্শটি বললে তার পরিবর্তে আমি কী ব্যবহার করতে পারি
মূল্য সহায়ক ব্যবহার করে
<?php
namespace \Vendor\Module
class MyClass extends Template
{
public $priceHelper;
public function __construct(
Template\Context $context,
\Magento\Framework\Pricing\Helper\Data $priceHelper,
array $data = []
) {
parent::__construct($context, $data);
$this->priceHelper = $priceHelper;
}
public function myCustomFunction($product) {
return $this->priceHelper->currency($product->getPrice(),true,false);
}
}
এটি প্রদত্ত পণ্য থেকে মূল্য এবং মুদ্রার প্রতীককে আউটপুট করে।