Anular los ajustes de configuración

En este tema se explica cómo derivar un nombre de variable de entorno que conozca una ruta de configuración. Puede anular los ajustes de configuración de Adobe Commerce mediante variables de entorno. Por ejemplo, puede anular el valor de la URL activa de un procesador de pagos en su sistema de producción.

Puede anular el valor de any configuración mediante variables de entorno; sin embargo, Adobe recomienda mantener la configuración coherente mediante el archivo de configuración compartido config.php y el archivo de configuración específico del sistema env.php, como se describe en Información general sobre la implementación.

TIP
Consulte el tema Configurar entornos en la guía Commerce en infraestructura de nube.

Variables de entorno

El nombre de una variable de entorno consiste en su ámbito seguido de su ruta de configuración en un formato concreto. En las secciones siguientes se explica cómo determinar el nombre de una variable con más detalle.

Puede utilizar variables para cualquiera de las siguientes opciones:

Las rutas de configuración se encuentran en:

Nombres de variables

El formato general de los nombres de las variables de configuración del sistema es el siguiente:

<SCOPE>__<SYSTEM__VARIABLE__NAME>

<SCOPE> puede ser:

<SYSTEM__VARIABLE__NAME> es la ruta de configuración con caracteres de subrayado doble sustituidos para /. Para obtener más información, consulte Paso 2: Establecer variables del sistema.

Formato variable

<SCOPE> está separado de <SYSTEM__VARIABLE__NAME> por dos caracteres de guion bajo.

<SYSTEM__VARIABLE__NAME> se deriva de la ruta de acceso de configuración de una configuración, que es una cadena delimitada por / que identifica de forma exclusiva una configuración en particular. Reemplace cada carácter / de la ruta de configuración por dos caracteres de guion bajo para crear la variable del sistema.

Si una ruta de configuración contiene un carácter de guion bajo, este permanece en la variable.

Puede encontrar una lista completa de las rutas de configuración en:

Paso 1: Encuentre el valor de ámbito de vista del sitio web o tienda

En esta sección se describe cómo buscar y establecer valores de configuración del sistema por ámbito (vista de tienda o sitio web). Para establecer variables de ámbito global, consulte Paso 2: Establecer variables globales, de sitio web o de vista de tienda.

Los valores de ámbito provienen de las tablas store, store_group y store_website.

  • La tabla store especifica los nombres y códigos de la vista de almacén
  • La tabla store_website especifica nombres y códigos de sitios web

También puede encontrar los valores del código usando el Administrador.

Cómo leer la tabla:

  • Path in Admin columna

    Los valores anteriores a la coma son rutas en la navegación del administrador. Los valores después de la coma son opciones del panel derecho.

  • Variable name columna es el nombre de la variable de entorno correspondiente.

    Si lo desea, tiene la opción de especificar los valores del sistema para estos parámetros de configuración como variables de entorno.

    • El nombre completo de la variable siempre está en MAYÚSCULAS
    • Iniciar un nombre de variable con CONFIG__ (observe dos caracteres de subrayado)
    • Puede encontrar la parte <STORE_VIEW_CODE> o <WEBSITE_CODE> del nombre de una variable en la base de datos de administración o de Commerce, como se indica en las secciones siguientes.
    • Puede encontrar <SYSTEM__VARIABLE__NAME> como se describe en Paso 2: establecer variables globales, de sitio web o de vista de tienda.

Busque un sitio web o un ámbito de vista de tienda en el Administrador de

La siguiente tabla resume cómo buscar un sitio web o almacenar valores de visualización en el administrador.

Descripción
Ruta en el administrador
Nombre de variable
Crear, editar o eliminar vistas de tiendas
Stores > All Stores
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Creación, edición y eliminación de sitios web
Stores > All Stores
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>

Por ejemplo, para buscar un sitio web o almacenar el valor de ámbito de vista en el Administrador:

  1. Inicie sesión en Admin como usuario autorizado para ver sitios web.

  2. Haga clic en Stores > All Stores.

  3. Haga clic en el nombre de un sitio web o una vista de tienda.

    El panel derecho se muestra de forma similar al siguiente.

    Buscar código de sitio web

  4. El nombre del ámbito se muestra en el campo Code.

  5. Continuar con Paso 2: Establecer variables de vista global, de sitio web o de tienda.

Buscar un sitio web o un ámbito de vista de tienda en la base de datos

Para obtener estos valores de la base de datos:

  1. Inicie sesión en el sistema de desarrollo como propietario del sistema de archivos si aún no lo ha hecho.

  2. Introduzca el siguiente comando:

    code language-bash
    mysql -u <database-username> -p
    
  3. En el símbolo del sistema mysql>, escriba los siguientes comandos en el orden mostrado:

    code language-shell
    use <database-name>;
    
  4. Utilice las siguientes consultas SQL para buscar los valores relevantes:

    code language-shell
    SELECT * FROM STORE;
    SELECT * FROM STORE_WEBSITE;
    

    A continuación se muestra un ejemplo:

    code language-shell
    mysql> SELECT * FROM STORE_WEBSITE;
    +------------+-------+--------------+------------+------------------+------------+
    | website_id | code  | name         | sort_order | default_group_id | is_default |
    +------------+-------+--------------+------------+------------------+------------+
    |          0 | admin | Admin        |          0 |                0 |          0 |
    |          1 | base  | Main Website |          0 |                1 |          1 |
    |          2 | test1 | Test Website |          0 |                3 |          0 |
    +------------+-------+--------------+------------+------------------+------------+
    
  5. Use el valor de la columna code como nombre de ámbito, no el valor name.

    Por ejemplo, para establecer una variable de configuración para el sitio web de prueba, utilice el siguiente formato:

    code language-shell
    CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
    

    de donde <SYSTEM__VARIABLE__NAME> proviene de la siguiente sección.

Paso 2: Establecer variables de vista globales, de sitio web o de tienda

En esta sección se explica cómo establecer variables del sistema.

  • Para establecer valores para el ámbito global (es decir, todos los sitios web, tiendas y vistas de tiendas), inicie el nombre de la variable con CONFIG__DEFAULT__.

  • Para establecer un valor para una vista de tienda o sitio web en particular, inicie el nombre de la variable como se describe en Paso 1: Encuentre el valor de ámbito:

    • CONFIG__WEBSITES
    • CONFIG__STORES
  • La última parte del nombre de la variable es la ruta de configuración, que es única para cada ajuste de configuración.

Vea algunos ejemplos.

La siguiente tabla muestra algunas variables de ejemplo.

Descripción
Ruta de acceso en administración (omitiendo Tiendas > Configuración > Configuración)
Nombre de variable
nombre de host del servidor Elasticsearch
Catálogo > Catálogo, Nombre de host del servidor Elasticsearch
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Puerto del servidor del Elasticsearch
Catálogo > Catálogo, Puerto del servidor Elasticsearch
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_PORT
Origen del país de envío
Ventas > Configuración de envío
<SCOPE>__SHIPPING__ORIGIN__COUNTRY_ID
URL de administración personalizada
Avanzadas > Administrador
<SCOPE>__ADMIN__URL__CUSTOM
Ruta de administración personalizada
Avanzadas > Administrador
<SCOPE>__ADMIN__URL__CUSTOM_PATH

Ejemplos

Esta sección muestra cómo buscar valores de algunas variables de ejemplo.

nombre de host del servidor Elasticsearch

Para buscar el nombre de la variable para la minificación de HTML global:

  1. Determine el ámbito.

    Es el ámbito global, por lo que el nombre de la variable empieza por CONFIG__DEFAULT__

  2. El resto del nombre de la variable es CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME.

    Resultado: El nombre de la variable es CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME

Origen del país de envío

Para buscar el nombre de variable del origen del país de envío:

  1. Determine el ámbito.

    Busque el ámbito en la base de datos como se describe en el paso 1: Encuentre el sitio web o el valor del ámbito de la vista de la tienda. (También puede encontrar el valor en Admin, como se muestra en la [tabla del paso 2: establecer variables de vista globales, de sitio web o de tienda] (#step-2-set-global-website-or-store-view-variables.

    Por ejemplo, el ámbito podría ser CONFIG__WEBSITES__DEFAULT.

  2. El resto del nombre de la variable es SHIPPING__ORIGIN__COUNTRY_ID.

    Resultado: El nombre de la variable es CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID

Cómo utilizar variables de entorno

Establezca valores de configuración como variables utilizando la matriz asociada $_ENV de PHP. Puede establecer los valores en cualquier script PHP que se ejecute cuando se ejecute Commerce.

TIP
La configuración de valores de variables en index.php o pub/index.php no siempre funciona como se espera, ya que se pueden usar diferentes puntos de entrada de aplicaciones según la configuración del servidor web. Al colocar directivas $_ENV en el archivo app/bootstrap.php, independientemente de los diferentes puntos de entrada de la aplicación, las directivas $_ENV siempre se ejecutan desde que se carga el archivo app/bootstrap.php como parte de la arquitectura de Commerce.

A continuación se muestra un ejemplo de cómo configurar dos valores $_ENV:

$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';

Se muestra un ejemplo paso a paso en Establecer valores de configuración mediante variables de entorno.

WARNING
  • Para usar los valores que configuró en la matriz $_ENV, debe establecer variables_order = "EGPCS" (Entorno, Obtener, Post, Cookie y Servidor) en el archivo php.ini. Para obtener más información, consulte Documentación de PHP.

  • Para Adobe Commerce en la infraestructura en la nube, si está intentando anular las opciones de configuración mediante la Interfaz web de Project, debe anteponer el nombre de la variable a env:. Por ejemplo:

Ejemplo de variable de entorno
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c