ম্যাজেন্টো 2 তে কীভাবে স্টোর ফোন নম্বর পাবেন


17

আমি ম্যাজেন্টো 2-এর সম্মুখভাগে ম্যাজেন্টো অ্যাডমিনে সংরক্ষিত ফোন নম্বরটি প্রদর্শন করতে চাই।

ম্যাজেন্টো ১.৯ এ লাইক করুন like

$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();

কীভাবে এটি পিটিএইচটিএমএল অবজেক্ট ম্যানেজার ব্যবহার করে প্রয়োগ করবেন
পারস অরোরা

@ পারাসারোআর ৩০৩০ আমার সম্পাদনাটি দেখুন তবে আপনাকে কখনই অবজেক্ট ম্যানেজারটি সরাসরি ব্যবহার করা উচিত নয়
রাফেল ডিজিটাল পিয়ানিজমে

@ রাফেলাতডিজিটালপিয়ানিজম: আমি একটি ত্রুটি পাচ্ছি মারাত্মক ত্রুটি: আনকড ত্রুটি: একজন সদস্য ফাংশন প্রেরণকে কল করুন) ম্যাজেন্টো \ ফ্রেমওয়ার্ক (দেখুন \ উপাদান \ অ্যাবস্ট্রাকব্লক.এফপি লাইন 4৪৪ - ক্লিয়ারিং ক্যাশে এবং সব পরে। ...
দক্ষ সুথার

2
স্টোর ইনফরমেশনঅবজেক্ট
ফ্রাঙ্ক গার্নিয়ার

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');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.