Instalar la extensión Adobe Commerce B2B
La extensión B2B de Adobe Commerce magento/extension-b2b
está disponible para todas las versiones compatibles de Adobe Commerce. Se instala después de instalar Adobe Commerce.
Requisitos
- Adobe Commerce, todas las versiones compatibles
- PHP 8.1 y 8.2
- Composer
Plataformas compatibles
- Adobe Commerce en infraestructura en la nube (ECE)
- Adobe Commerce local (EE)
Pasos de instalación
Requisitos previos
-
Acceda a repo.magento.com para descargar la extensión. Para obtener la generación de claves y los derechos necesarios, consulta Obtener tus claves de autenticación.
Guarde las claves de autenticación para la instalación definiéndolas globalmente en el directorio COMPOSER_HOME. O bien, guárdelos en un archivo auth.json en el directorio raíz de la aplicación de Adobe Commerce.
-
Versión compatible de la extensión B2B- Determine la versión más reciente de la extensión B2B compatible con la versión implementada de Adobe Commerce.
-
Consulte las notas de la versión para obtener la información más actual acerca de la compatibilidad de versiones, actualizaciones o cambios que pueden afectar a los requisitos de instalación o actualización.
Instale la extensión B2B (magento/b2b-extension
) mediante Composer. La extensión es un metapaquete de compositor que incluye la colección de módulos que habilitan las capacidades B2B para una instancia de Adobe Commerce. Para obtener una lista de los módulos incluidos, consulte Paquetes B2B.
note tip |
---|
TIP |
Al instalar Adobe Commerce B2B en la infraestructura en la nube, Adobe recomienda implementar la aplicación de Adobe Commerce en un entorno de integración o ensayo antes de comenzar. |
Adobe recomienda trabajar en una rama de desarrollo al añadir la extensión B2B al proyecto. Si no tiene una rama, consulte Crear una rama para desarrollo. Al instalar la extensión B2B, el nombre de la extensión Magento_B2b
se inserta automáticamente en el archivo app/etc/config.php
. No es necesario editar el archivo directamente.
Para instalar la extensión B2B:
-
En la estación de trabajo local, cambie al directorio del proyecto.
-
Cree o desproteja una rama de desarrollo.
-
Agregue la extensión B2B a la sección
require
del archivocomposer.json
.code language-bash composer require magento/extension-b2b --no-update
-
Actualice las dependencias del proyecto.
code language-bash composer update
-
Agregar, confirmar y enviar cambios de código.
code language-bash git add -A
code language-bash git commit -m "Install the B2B extension."
code language-bash git push origin <branch-name>
note note NOTE Al insertar actualizaciones en el entorno de la nube de, se inicia el proceso de implementación de la nube de Commerce para aplicar los cambios. Compruebe el estado de implementación desde el registro de implementación. Si encuentra errores de implementación, consulte Error al recuperar del componente. -
Una vez finalizada la generación y la implementación, utilice SSH para iniciar sesión en el entorno remoto y comprobar que la extensión B2B está instalada y habilitada.
code language-bash bin/magento module:status Magento_B2b
Un nombre de extensión usa el formato:
<VendorName>_<ComponentName>
.Respuesta de ejemplo:
code language-none Magento_B2b : Module is enabled
-
En el directorio raíz de la aplicación de Adobe Commerce, actualice
composer.json
para agregar las dependencias para la extensión B2B:code language-bash composer require magento/extension-b2b:<version>
Si se produce un error, por ejemplo:
code language-none [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
Compruebe la ortografía del paquete, la restricción de versión y que el paquete está disponible y coincide con el requisito de estabilidad mínima (estable).
-
Si se le solicita, escriba sus claves de autenticación.
Su clave pública es su nombre de usuario; su clave privada es su contraseña. Si ha almacenado las claves pública y privada en
auth.json
, no se le pedirá que se autentique. -
Ejecute los siguientes comandos una vez que Composer haya terminado de actualizar los módulos:
code language-bash bin/magento setup:upgrade
code language-bash bin/magento setup:di:compile
code language-bash bin/magento setup:static-content:deploy -f
code language-bash bin/magento cache:clean
note note NOTE En el modo Producción, podría recibir un mensaje dirigido a Please rerun Magento compile command
. Introduzca los comandos para completar la instalación. Adobe Commerce no le pide que ejecute el comando de compilación en modo de desarrollador.
Después de completar la instalación, configure e inicie los consumidores de mensajes.
Consumidores de mensajes
La extensión Adobe Commerce B2B utiliza MySQL para la administración de colas de mensajes. En la tabla siguiente se enumeran los consumidores de mensajes que admiten las capacidades B2B. Después de instalar la extensión, inicie los consumidores de mensajes para las funciones B2B necesarias para su tienda de Commerce.
sharedCatalogUpdatePrice
sharedCatalogUpdateCategoryPermissions
negotiableQuotePriceUpdate
purchaseorder.toorder
purchaseorder.transactional.email
purchaseorder.validation
quoteItemCleaner
inventoryQtyCounter
async.operations.all
Configuración de consumidores de mensajes
Evite posibles problemas o retrasos en el procesamiento agregando los siguientes parámetros al iniciar los consumidores de mensajes para las capacidades B2B.
-
--max-messages <value>
: especifica el número máximo de mensajes que cada consumidor debe procesar antes de finalizar (predeterminado = 10000). Aunque el Adobe no lo recomienda, puede utilizar 0 para evitar que el consumidor finalice. La práctica recomendada para una aplicación PHP es reiniciar los procesos de larga ejecución para evitar posibles fugas de memoria. -
--batch-size <value>
: permite limitar los recursos del sistema consumidos por los consumidores (CPU, memoria). El uso de lotes más pequeños reduce el uso de recursos y, por lo tanto, ralentiza el procesamiento. Si se especifica, los mensajes de una cola se consumen en lotes de<value>
cada uno. Esta opción solo se aplica al consumidor de lotes. Si--batch-size
no está definido, el consumidor por lotes recibe todos los mensajes disponibles en una cola.
Para obtener información acerca de opciones de configuración adicionales, vea Specific-configuration.
Iniciar consumidores de mensajes
Para habilitar operaciones asincrónicas para las capacidades B2B, debe iniciar varios consumidores de mensajes.
-
Enumerar los consumidores de mensajes disponibles:
code language-bash bin/magento queue:consumers:list
El comando devuelve los consumidores de mensajes disponibles, incluidos todos los consumidores de mensajes B2B.
-
Inicie cada consumidor por separado:
code language-bash bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
Por ejemplo:
code language-bash bin/magento queue:consumers:start quoteItemCleaner
&
al comando, vuelva a un símbolo del sistema y continúe ejecutando comandos. Por ejemplo: bin/magento queue:consumers:start sharedCatalogUpdatePrice &
.Para obtener más información, consulte Administrar colas de mensajes en la Guía de configuración.
Añadir consumidores de mensajes a cron
Puede automatizar la programación de ejecución para los consumidores de mensajes SharedCatalogUpdateCategoryPermissions
y SharedCatalogUpdatePrice
agregando la programación al archivo de configuración de cron /app/code/Magento/MessageQueue/etc/crontab.xml.
* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &
También puede configurar programaciones para consumidores de mensajes desde Configuración de almacenamiento en el Administrador.
Habilitar funciones B2B en el administrador
Después de instalar la extensión B2B de Adobe Commerce e iniciar los consumidores de mensajes, también debe habilitar las características B2B en el administrador.