Pregunta Cómo obtener datos de la configuración del sistema Magento


Solo dejo de ver cómo puedo obtener los datos de configuración para mi módulo personalizado. La configuración se puede configurar desde el administrador system->configuration y cómo sacarlo en frontend?


58
2018-05-05 03:50


origen


Respuestas:


$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName');

Nombre de la sección, Nombre del grupo y nombre del campo están presentes en etc / system.xml archivo de tu módulo

El código anterior buscará automáticamente el valor de configuración de la tienda actualmente vista.

Si desea obtener el valor de configuración de cualquier otra tienda que no sea la tienda actualmente vista, puede especificar la ID de la tienda como el segundo parámetro para la getStoreConfig funciona de la siguiente manera:

$store = Mage::app()->getStore(); // store info
$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName', $store);

142
2018-05-05 06:35



Deberías usar el siguiente código

$configValue = Mage::getStoreConfig(
                   'sectionName/groupName/fieldName',
                   Mage::app()->getStore()
               ); 

Mage::app()->getStore() esto agregará código de tienda en valores de búsqueda para que pueda obtener valores de configuración correctos para la tienda actual; esto evitará los valores incorrectos de la tienda porque magento también se usa para múltiples tiendas / vistas, así que debe agregar código de tienda para buscar cualquier cosa en magento.

si tenemos más de una tienda o varias vistas configuradas, esto asegurará que estamos obteniendo valores para la tienda actual


22
2018-02-19 06:37



Magento 1.x

(ejemplo de magento 2 a continuación)

Nombre de la sección, Nombre del grupo y nombre del campo están presentes en el archivo etc / system.xml del módulo.

Sintaxis de PHP:

Mage::getStoreConfig('sectionName/groupName/fieldName');

Desde dentro de un editor en el administrador, como el contenido de una Página CMS o Bloque estático; la descripción / breve descripción de una categoría de catálogo, producto de catálogo, etc.

{{config path="sectionName/groupName/fieldName"}}

Para que el enfoque de "Dentro de un editor" funcione, el valor del campo se debe pasar a través de un filtro para que se analicen los {{...}} contenidos. Fuera de la caja, Magento hará esto para las descripciones de Categoría y Producto, así como las Páginas CMS y los Bloques estáticos. Sin embargo, si está produciendo el contenido dentro de su propia secuencia de comandos de vista personalizada y desea que estas variables sean analizadas, puede hacerlo así:

<?php
    $example = Mage::getModel('identifier/name')->load(1);
    $filter  = Mage::getModel('cms/template_filter');
    echo $filter->filter($example->getData('field'));
?>

Reemplazando identificador/nombre con los valores adecuados para el modelo que está cargando, y campo con el nombre del atributo que desea generar, que puede contener incidencias de {{...}} que deben ser analizadas.

Magento 2.x

Desde cualquier clase de bloque que se extienda \ Magento \ Framework \ View \ Element \ AbstractBlock

$this->_scopeConfig->getValue('sectionName/groupName/fieldName');

Cualquier otra clase de PHP:

Si la clase (y ninguno de sus padres) no se inyecta \Magento\Framework\App\Config\ScopeConfigInterface a través del constructor, tendrás que agregarlo a tu clase.

// ... Remaining class definition above...

/**
 * @var \Magento\Framework\App\Config\ScopeConfigInterface
 */
protected $_scopeConfig;

/**
 * Constructor
 */
public function __construct(
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
    // ...any other injected classes the class depends on...
) {
  $this->_scopeConfig = $scopeConfig;
  // Remaining constructor logic...
}

// ...remaining class definition below...

Una vez que lo haya inyectado en su clase, ahora puede recuperar los valores de configuración de la tienda con el mismo ejemplo de sintaxis dado anteriormente para las clases de bloque.

Tenga en cuenta que después de modificar la lista de parámetros __construct () de cualquier clase, es posible que tenga que borrar las clases generadas, así como el directorio de inyección de dependencias:  var/generation & var/di


17
2018-06-29 23:08



por ejemplo, si desea obtener EMAIL ADDRESS de config-> store email addresses. Puede especificar desde qué tienda desea la dirección:

$store=Mage::app()->getStore()->getStoreId(); 
/* Sender Name */
Mage::getStoreConfig('trans_email/ident_general/name',$store); 
/* Sender Email */
Mage::getStoreConfig('trans_email/ident_general/email',$store);

2
2017-10-14 12:20