Magento 2 में स्टोर फ़ोन नंबर कैसे प्राप्त करें


17

मैं Magento 2 में दृश्यपटल में magento व्यवस्थापक में सहेजा गया फोन नंबर प्रदर्शित करना चाहता हूं।

जैसे Magento 1.9 में इसकी तरह

$storePhone = Mage::getStoreConfig('general/store_information/phone');

जवाबों:


14

आपको Magento/Store/Model/Informationकक्षा का उपयोग करना होगा और उसके लिए getStoreInformationObject()विधि को कॉल करना होगा ।

अनुशंसित तरीका

यद्यपि आपको अपने खाके में उपयोग करने में सक्षम होने के लिए अपने कस्टम ब्लॉक में इस वर्ग को इंजेक्ट करना होगा।

protected $_storeInfo;

public function __construct(
    ....
    \Magento\Store\Model\Information $storeInfo,
    ....
) {
    ...
    $this->_storeInfo = $storeInfo;
    ....
}

फिर फोन नंबर प्राप्त करने के लिए एक कस्टम विधि बनाएं:

public function getPhoneNumber()
{
    return $this->_storeInfo->getStoreInformationObject(Store $store)->getPhone();
}

इस प्रकार आपके टेम्पलेट में आप कॉल कर सकते हैं:

$block->getPhoneNumber();

अपरिचित तरीका

आपको कभी भी ऑब्जेक्ट मैनेजर का उपयोग सीधे नहीं करना चाहिए (देखें कि यहां क्यों: मैगेंटो 2: ऑब्जेक्ट मैनजर का सीधे उपयोग करने या न करने के लिए? )

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeInformation = $objectManager->create('Magento/Store/Model/Information');
$storeInfo = $storeInformation->getStoreInformationObject($store);

तब आप फोन कॉल करके प्राप्त कर सकते हैं:

$phone = $storeInfo->getPhone();

phtml में ऑब्जेक्ट मैनेजर का उपयोग करके इसे कैसे लागू करें
पारस अरोड़ा

@ parasarora1303 मेरा संपादन देखें लेकिन आपको कभी भी ऑब्जेक्ट मैनेजर का उपयोग सीधे नहीं करना चाहिए
राफेल एट डिजिटल पियानिज़्म

@RaphaelatDigitalPianism: मुझे एक त्रुटि मिल रही है घातक त्रुटि: अनकवर्ड एरर: विक्रेता के प्रेषण पर कॉल करें। ...
कौशल सुथार

2
आपको फ़ंक्शन के एक तर्क के रूप में स्टोर को पास करने की आवश्यकता है getStoreInformationObject
फ्रेंक गार्नियर

1
यह जवाब अभी भी सही नहीं है। $ स्टोर परिभाषित नहीं है।
साइफर 909

7
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$storeInformation = $objectManager->create('Magento\Store\Model\Information');

$store = $objectManager->create('Magento\Store\Model\Store');

$storeInfo = $storeInformation->getStoreInformationObject($store);

$phone = $storeInfo->getPhone();

7

आपको \Magento\Framework\App\Config\ScopeConfigInterfaceअपने ब्लॉक में एक इंस्टेंस को इंजेक्ट करने की आवश्यकता है ।

$protected $scopeConfig;
public function __construct(
    ....
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
    ....
) {
    ...
    $this->scopeConfig = $scopeConfig;
    ....
}

फिर विधि बनाएं getStorePhone()

public function getStorePhone()
{
    return $this->scopeConfig->getValue(
        'general/store_information/phone',
        \Magento\Store\Model\ScopeInterface::SCOPE_STORE
    );
}

और अपने टेम्पलेट में कॉल करें echo $block->getStorePhone()


1

ऊपर दिए गए तरीके काम नहीं कर रहे थे इसलिए मैंने निम्नलिखित तरीके से कोशिश की है और यह मेरे लिए काम कर रहा है ...

namespace Vendor\Module\Block;
class Contact extends \Magento\Framework\View\Element\Template
{
    protected $_storeInfo;
    protected $_storeManagerInterface;


    public function __construct( 
        \Magento\Framework\View\Element\Template\Context $context,
        \Magento\Store\Model\Information $storeInfo,
        \Magento\Store\Model\StoreManagerInterface $storeManagerInterface,
        array $data = []
    )
    {
        parent::__construct($context, $data); 
        $this->_storeInfo = $storeInfo;
        $this->_storeManagerInterface = $storeManagerInterface;
    }
    public function getPhoneNumber()
    {
        return $this->_storeInfo->getStoreInformationObject($this->_storeManagerInterface->getStore(null))->getPhone();
    }
}

और टेम्पलेट फ़ाइल में मैंने बुलाया है

echo $block->getPhoneNumber();

1

उपरोक्त कोड मेरे लिए काम नहीं कर रहा है। मैंने निम्नलिखित कोड की कोशिश की है जो काम करता है।

class Sociallinks extends \Magento\Framework\View\Element\Template
{
   protected $socialLinksHelper;
   protected $objMgr;
   protected $storeInfo;
   protected $scopeConfig;


   public function __construct(
      \Magento\Framework\View\Element\Template\Context $context,
      \Addpeople\Websettings\Helper\Data $myModuleHelper,
      array $data = []
    ) {

    parent::__construct($context, $data);
    $this->_socialLinksHelper = $myModuleHelper;
    $this->_objMgr =  \Magento\Framework\App\ObjectManager::getInstance();
    $storeInformation = $this->_objMgr->create('Magento\Store\Model\Information');
    $store = $this->_objMgr->create('Magento\Store\Model\Store');
    $this->_storeInfo = $storeInformation->getStoreInformationObject($store);

}

public function getPhoneNumber()
{

    return $this->_storeInfo->getPhone();

}
}

टेम्पलेट फ़ाइल

<?php echo $block->getPhoneNumber();?>


0

हम भी उपयोग कर सकते हैं:

$objectManager =  \Magento\Framework\App\ObjectManager::getInstance();        
$storePhone = $objectManager->get('Magento\Framework\App\Config\ScopeConfigInterface')->getValue('general/store_information/phone');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.