Cómo obtener valor de la tabla `core_config_data` en Magento 2


41

Magento 1.x utiliza Mage::getStoreConfig('sections/groups/fields')obtener datos en la core_config_datatabla.

¿Cómo obtener Magento2 valor de la core_config_datatabla?

Respuestas:


100

Necesitamos llamar al método predeterminado disponible.

Simplemente use \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, en su argumento de constructor y establezca la propiedad de clase:$this->scopeConfig = $scopeConfig;

Ahora para obtener el valor de configuración simplemente use

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

Tengo obtener la respuesta de este enlace y remito este


3
buena Meenakshi! sigue así
anshuman

¿Cómo los obtiene de un script separado, no desde el sistema de archivos magento o un módulo? Si crea una clase en su script y la instancia, ¿de qué debe heredar la clase y cómo se asegura de que cargue todos los archivos adecuados?
ahnbizcad

¿De qué alcance obtiene esto la configuración? ¿La vista de tienda actualmente vista por el cliente?
Erfan

sí, tomará la vista actual de la tienda del cliente
MeenakshiSundaram R

@MeenakshiSundaramR Estoy preguntando, aparte de esta publicación, cómo dar envío gratis para productos seleccionados usando sku. Ayúdame en magento.stackexchange.com/q/215022/57334
zus

4

Cree una función para obtener valores de configuración en el ayudante de su módulo personalizado.

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

y llame a cualquier lugar que desee, por ejemplo en test.phtml

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

En bloque y llamada de ayuda de esta manera:

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

77
Se recomienda en M2 preferir el enfoque DI. Por lo tanto, $this->_objectManager->create(...)debe evitarse el uso.
Anna Völkl

Gracias @ AnnaVölkl, entonces, ¿cuál es el reemplazo de eso? ¿Puedes publicar una respuesta similar aquí?
Manish

Vea la respuesta votada arriba.
Anna Völkl

3

He usado el siguiente método para recuperar las variables

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.