Como obter valor da tabela `core_config_data` no Magento 2

41

Magento 1.x usa Mage::getStoreConfig('sections/groups/fields')obter dados na core_config_datatabela.

Como Magento2 obter valor da core_config_datatabela?

Conta
fonte

Respostas:

100

Precisamos chamar o método padrão disponível.

Basta usar \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, no argumento do construtor e defina a propriedade da classe:$this->scopeConfig = $scopeConfig;

Agora, para obter o valor da configuração, basta usar

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

Eu recebo a resposta deste link e refiro isso

MeenakshiSundaram R
fonte
3
bom Meenakshi! continue assim
anshuman
Como você os obtém de um script separado, não de dentro do sistema de arquivos magento ou de um módulo? Se você cria uma classe em seu script e a instancia, do que a classe deve herdar e como garantir que ela carrega todos os arquivos adequados?
ahnbizcad
De qual escopo isso obtém a configuração? A visualização de armazenamento atualmente visualizada pelo cliente?
Erfan
Sim, levará a visualização de armazenamento atual do cliente
MeenakshiSundaram R
@MeenakshiSundaramR eu estou pedindo para além deste post, como dar frete grátis para produtos selecionados usando sku.Help me em magento.stackexchange.com/q/215022/57334
ZUS
4

Crie uma função para obter valores de configuração no auxiliar do seu módulo personalizado.

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

e ligue para onde quiser, por exemplo, em test.phtml

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

Em chamada em bloco e auxiliar, assim:

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');
Manish
fonte
7
Recomenda-se no M2 que prefira o método DI. Assim, o uso $this->_objectManager->create(...)deve ser evitado.
Anna Völkl
Obrigado @ AnnaVölkl, então qual é a substituição disso, por favor, você pode postar uma resposta semelhante aqui?
Manish
Veja a resposta votada acima.
Anna Völkl
3

Eu usei o seguinte método para recuperar as variáveis

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
mjdevloper
fonte