Magento 2の `core_config_data`テーブルから値を取得する方法


41

Magento 1.xはテーブルのMage::getStoreConfig('sections/groups/fields')データを取得しcore_config_dataます。

Magento2がcore_config_dataテーブルから値を取得する方法は?

回答:


100

利用可能なデフォルトのメソッドを呼び出す必要があります。

\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfigコンストラクタ引数でを使用し、クラスプロパティを設定するだけです。$this->scopeConfig = $scopeConfig;

構成値を取得するには、次を使用します

$this->scopeConfig->getValue('dev/debug/template_hints', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);

私はこのリンクから答えを得て、これを参照します


3
良いものミーナクシ!それを維持
アンスマン

magentoファイルシステムまたはモジュール内からではなく、別のスクリプトからそれらを取得するにはどうすればよいですか?スクリプトでクラスを作成してインスタンス化する場合、クラスは何を継承する必要があり、適切なファイルをすべて確実にロードするにはどうすればよいですか?
ahnbizcad

どのスコープから構成を取得しますか?顧客が現在表示しているストアビュー?
エルファン

はい、顧客の現在のストアビューが必要になります
MeenakshiSundaram R

@MeenakshiSundaramR私はでsku.Help私を使用して、選択した製品のための送料無料を与える方法、このポストから離れて求めています magento.stackexchange.com/q/215022/57334
ZUS

4

カスタムモジュールのヘルパーで設定値を取得するための関数を作成します。

public function getConfig($config_path)
{
    return $this->scopeConfig->getValue(
            $config_path,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
            );
}

test.phtmlなどの任意の場所に呼び出します

$moduleStatus = $this->helper('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

次のようなブロックおよびヘルパー呼び出しで:

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

7
M2では、DIアプローチを好むことが推奨されます。したがって、使用$this->_objectManager->create(...)は避けてください。
アンナフォルクル

@AnnaVölklに感謝します、それから何を置き換えますか?同様の答えをここに投稿できますか?
マニッシュ

上記の賛成の回答を参照してください。
アンナフォルクル

3

私は次の方法を使用して変数を取得しました

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.