প্রোগ্রামেমেগানো 2-এর সাথে আমি কীভাবে কোর_কনফিগ_ডেটা সেট করতে পারি?


13

আমি জানি আপনি এর সাথে ম্যাজেন্টো 1 তে কনফিগার ডেটা সেট করতে পারবেন:

Mage::getModel('core/config')->saveConfig('my/path/whatever', $value);

এবং আপনি এর সাথে ম্যাজেন্টো 2 তে কনফিগার ডেটা পেতে পারেন:

protected $_scopeConfig

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

+ +

$this->_scopeConfig->getValue( 'path/of/config', \Magento\Store\Model\ScopeInterface::SCOPE_STORE );

তবে আমি বুঝতে পারি না, কীভাবে আমি ম্যাজেন্টো 2-তে কনফিগার ডেটা সংরক্ষণ করতে পারি

উত্তর:


24

এইভাবে আপনার ম্যাজেন্টো 2 কোর_কনফিগ_ডেটাতে ডেটা সংরক্ষণ করা উচিত

    use Magento\Framework\App\Config\ScopeConfigInterface;

    /**
     *  @var \Magento\Framework\App\Config\Storage\WriterInterface
     */
    protected $configWriter;

    /**
     *
     * @param \Magento\Framework\App\Config\Storage\WriterInterface $configWriter
     */
    public function __construct(
        ....
        \Magento\Framework\App\Config\Storage\WriterInterface $configWriter
        .....
    )
    {
        $this->configWriter = $configWriter;
    }

আপনার কলিং পদ্ধতিতে লাইনের নীচে যুক্ত করুন:

$this->configWriter->save('my/path/whatever',  $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0);

6

আপনি কনফিগার ইন্টারফেস ক্লাসটি ইনজেক্ট করতে পারেন এবং মানটি সংরক্ষণ করতে এটি ব্যবহার করতে পারেন।

protected $_configInterface;

public function __construct(
    \Magento\Framework\App\Config\ConfigResource\ConfigInterface $configInterface
) {
    $this->_configInterface = $configInterface;
}

তারপরে আপনি এটি আপনার পদ্ধতিতে ব্যবহার করতে পারেন

$this->_configInterface
    ->saveConfig('section/group/field', $value, 'default', 0);

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