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
);
}
}
जिसे आप अपने ब्लॉक वर्ग में निर्भरता के रूप में इंजेक्ट करेंगे