ম্যাজেন্টো 2 - পিএইচটিএমএল ফাইলগুলিতে এক্সটেনশনের কনফিগারেশন মানগুলি কীভাবে পাবেন?


21

আমি ম্যাজেন্টো 2 - বিটা নিয়ে কাজ করছি।

কিন্তু পিএইচটিএমএল ফাইলগুলিতে কনফিগারেশন মানগুলি কীভাবে পাবেন তা খুঁজে পাচ্ছেন না।

উদাহরণস্বরূপ: আমি আমার কাস্টম মডিউলগুলি কনফিগারেশন মানগুলিতে পেতে চাই Magento_Catalog/templates/product/list.phtml

কেউ কি করতে পারে জানেন?


আপনি একটি বাস্তব জীবনের উদাহরণ দিতে পারেন? আপনি ঠিক কি পুনরুদ্ধার করার চেষ্টা করছেন?
মারিয়াস

উত্তর:


43

আপনি আপনার কাস্টম মডিউলটির সহায়তায় কনফিগারেশন মান পেতে একটি ফাংশন তৈরি করতে পারেন।

<?php
namespace Vendor\Module\Helper;

class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
    public function getConfig($config_path)
    {
        return $this->scopeConfig->getValue(
            $config_path,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
}

তারপরে আপনি কোনও পিএইচটিএমএল ফাইলগুলিতে এই ফাংশনটি কল করার জন্য কনফিগারেশন মানগুলি পেতে পারেন।

$this->helper('Vendor\Module\Helper\Data')->getConfig('section/group/field');

1
বিমূর্ত সহায়ক সহায়ক শ্রেণি থেকে ScopeConfigInterface উপলব্ধ যে নির্দেশ করার জন্য ধন্যবাদ! এটি পুনরায় সংজ্ঞায়িত করে আমাকে রক্ষা করেছে।
রবি এভারিল

এটি কোনও ডিফল্ট কনফিগার মান সহ কীভাবে কাজ করবে? আমি কীভাবে স্টোর কনফিগারেশনটিতে ফোন নম্বর সেট করতে এবং এটি
শিরোনামে

@Dmitry আমার মনে হয় আপনি এখনো উদ্বুদ্ধ করতে প্রয়োজন \Magento\Framework\App\Config\ScopeConfigInterfaceসাহায্যকারী এর কন্সট্রাকটর মধ্যে
fmsthird

6

অন্য উপায় নীচে হিসাবে

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$conf = $objectManager->get('Magento\Framework\App\Config\ScopeConfigInterface')->getValue('group/field/value');

মডেল ইনস্ট্যান্টেশনের জন্য আপনার কখনই অবজেক্ট ম্যানেজার ব্যবহার করা উচিত নয়
ডেভ

এই এখানে একটি খুব ভুল।
মদিনা

0

রুশভীর উত্তরে সংশোধন: এটির section/group/field

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$conf = $objectManager->get('Magento\Framework\App\Config\ScopeConfigInterface')->getValue('section/group/field');

এছাড়াও যদি আপনি স্টোর ফিল্টার যুক্ত করতে চান উদাহরণস্বরূপ স্টোর কনফিগারেশন স্তরে সংরক্ষণ করা হয় তবে পাঠ্য প্রদর্শন করতে চান তবে নিম্নলিখিতগুলি যুক্ত করুন:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORES;
$conf = $objectManager->get('Magento\Framework\App\Config\ScopeConfigInterface')->getValue('carriers/freeshipping/extra_info',$storeScope);

দ্বিতীয়ত সমালোচনার জন্য: ডিআই-এর মাধ্যমে আপনার ব্লক শ্রেণির নির্মাতাকে অন্তর্ভুক্ত করা ভাল। এখানে শুধু ধারণা

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