Magento 2 कस्टम टेम्पलेट में वर्तमान स्टोर नाम को कस्टम ब्लॉक के साथ आउटपुट करना कैसे संभव है?
Magento 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');
हालाँकि, ब्लॉक या सहायक से ऐसा करना क्लीनर होगा। नीचे एक सहायक वर्ग है जो आपके अपने कस्टम मॉड्यूल में मौजूद होगा
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
);
}
}
जिसे आप अपने ब्लॉक वर्ग में निर्भरता के रूप में इंजेक्ट करेंगे