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.