ম্যাজেন্টো 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.