কাস্টম ব্লকের সাহায্যে বর্তমান স্টোরের নামটি ম্যাজেন্টো 2 কাস্টম টেমপ্লেটে আউটপুট করা কীভাবে সম্ভব?
কাস্টম ব্লকের সাহায্যে বর্তমান স্টোরের নামটি ম্যাজেন্টো 2 কাস্টম টেমপ্লেটে আউটপুট করা কীভাবে সম্ভব?
উত্তর:
\Magento\Framework\App\Config\ScopeConfigInterface
আপনার ব্লকটির উদাহরণটি আপনার ব্যবহার করতে হবে :
পদ্ধতিটি তৈরি করুন getStoreName()
public function getStoreName()
{
return $this->_scopeConfig->getValue(
'general/store_information/name',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
}
এবং আপনার টেম্পলেট কল echo $this->getStoreName()
\Magento\Store\Model\StoreManagerInterface $storeManager
কন্সট্রাকটর এবং public function getStoreName() { return $this->storeManager->getStore()->getName(); }
বদলে getName()
আপনি ব্যবহার করতে পারেন getCode()
, getId()
।
স্টোর ম্যানেজার ব্যবহার করুন, যা সক্রিয় স্টোর সম্পর্কে তথ্য রাখে। যদি কাস্টম ব্লকটি Template
ব্লক থেকে উত্তরাধিকার সূত্রে না পাওয়া যায় তবে \Magento\Store\Model\StoreManagerInterface
কনস্ট্রাক্টের উপর নির্ভরতা ইনজেকশন করুন ।
<?php
namespace VendorName\ModuleName\Block;
class CustomBlock extends \Magento\Framework\View\Element\Template
{
/**
* Get current store name.
*
* @return string
*/
public function getCurrentStoreName()
{
return $this->_storeManager->getStore()->getName();
}
}
তারপরে টেমপ্লেটে:
<?php
/**
* @var $block \VendorName\ModuleName\Block\CustomBlock
*/
echo "<h1>Current store name is '{$block->getCurrentStoreName()}'</h1>";
?>
একটি স্টোর কনফিগারেশন মান পেতে general/store_information/name
আপনি নিম্নলিখিত ব্যবহার করতে পারেন
$config = new \Magento\Framework\App\Config\ScopeConfigInterface();
echo $config->getValue('general/store_information/name');
তবে কোনও ব্লক বা সাহায্যকারী থেকে এটি করা আরও পরিষ্কার হবে er নীচে এমন একটি সহায়ক শ্রেণি রয়েছে যা আপনার নিজস্ব কাস্টম মডিউলে উপস্থিত থাকবে
namespace [Namespace]\[Module]\Helper;
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
/**
* Retrieve store name
*
* @return string|null
*/
public function getStoreName()
{
return $this->scopeConfig->getValue(
'general/store_information/name',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
}
}
যা আপনি আপনার ব্লক শ্রেণিতে নির্ভরতা হিসাবে ইনজেক্ট করবেন