Installa l'estensione Adobe Commerce B2B

L'estensione Adobe Commerce B2B magento/extension-b2b è disponibile per tutte le versioni supportate di Adobe Commerce. Viene installato dopo l’installazione di Adobe Commerce.

Requisiti

IMPORTANT
Adobe Commerce B2B versione 1.4.2+ non è compatibile con PHP 8.3. Se aggiorni l’istanza di Commerce alla versione 2.4.7+ di Commerce, accertati che la versione PHP installata nell’istanza sia PHP 8.2 per mantenere la compatibilità con B2B 1.4.2+.

Piattaforme supportate

  • Adobe Commerce sull’infrastruttura cloud (ECE)
  • Adobe Commerce on-premise (EE)

Passaggi per l’installazione

recommendation-more-help

Prerequisiti

Installare l'estensione B2B (magento/b2b-extension) tramite Composer. L’estensione è un metapacchetto di compositore che include la raccolta di moduli che abilitano le funzionalità B2B per un’istanza di Adobe Commerce. Per un elenco dei moduli inclusi, vedere Pacchetti B2B.

Infrastruttura cloud
note tip
TIP
Durante l’installazione di Adobe Commerce B2B su un’infrastruttura cloud, Adobe consiglia di implementare l’applicazione Adobe Commerce in un ambiente di integrazione o staging prima di iniziare.

L’Adobe consiglia di lavorare in un ramo di sviluppo quando aggiungi l’estensione B2B al progetto. Se non hai un ramo, vedi Crea un ramo per lo sviluppo. Durante l'installazione dell'estensione B2B, il nome dell'estensione Magento_B2b viene inserito automaticamente nel file app/etc/config.php. Non è necessario modificare direttamente il file.

Per installare l'estensione B2B:

  1. Sulla workstation locale, passa alla directory del progetto.

  2. Creare o estrarre un ramo di sviluppo.

  3. Aggiungere l'estensione B2B alla sezione require del file composer.json.

    code language-bash
    composer require magento/extension-b2b --no-update
    
  4. Aggiornare le dipendenze del progetto.

    code language-bash
    composer update
    
  5. Aggiungi, conferma e invia modifiche al codice.

    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
    Inviando gli aggiornamenti all’ambiente cloud si avvia il processo di distribuzione cloud di Commerce per applicare le modifiche. Controllare lo stato della distribuzione dal registro distribuzione. Se si verificano errori di distribuzione, vedere Ripristino da errore del componente.
  6. Al termine della build e della distribuzione, utilizza SSH per accedere all’ambiente remoto e verificare che l’estensione B2B sia installata e abilitata.

    code language-bash
    bin/magento module:status Magento_B2b
    

    Un nome di estensione utilizza il formato: <VendorName>_<ComponentName>.

    Risposta di esempio:

    code language-none
    Magento_B2b : Module is enabled
    
Locale
  1. Dalla directory radice dell'applicazione Adobe Commerce, aggiornare composer.json per aggiungere le dipendenze per l'estensione B2B:

    code language-bash
    composer require magento/extension-b2b:<version>
    

    Se si verifica un errore, ad esempio:

    code language-none
    [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
    

    Controlla l’ortografia del pacchetto, il vincolo di versione e che il pacchetto sia disponibile e corrisponda al requisito di stabilità minima (stabile).

  2. Se richiesto, immettere le chiavi di autenticazione.

    La chiave pubblica è il tuo nome utente; la tua chiave privata è la tua password. Se le chiavi pubbliche e private sono state archiviate in auth.json, non verrà richiesto di eseguire l'autenticazione.

  3. Dopo aver completato l'aggiornamento dei moduli, esegui i seguenti comandi:

    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
    In modalità di produzione, è possibile che si riceva un messaggio a Please rerun Magento compile command. Immettere i comandi per completare l'installazione. Adobe Commerce non richiede di eseguire il comando di compilazione in modalità Sviluppatore.

Al termine dell’installazione, configura e avvia gli utenti dei messaggi.

Consumatori di messaggi

L’estensione Adobe Commerce B2B utilizza MySQL per la gestione della coda dei messaggi. Nella tabella seguente sono elencati i consumer di messaggi che supportano le funzionalità B2B. Dopo aver installato l’estensione, avvia il messaggio consumer per le funzionalità B2B necessarie per la vetrina Commerce.

Consumatore
Descrizione
sharedCatalogUpdatePrice
Aggiorna il prezzo di ogni prodotto in un catalogo condiviso. Obbligatorio se l'opzione Shared Catalogs è abilitata nelle impostazioni di configurazione di Admin System.
sharedCatalogUpdateCategoryPermissions
Aggiorna le categorie assegnate a una categoria di catalogo condiviso. Obbligatorio se l'opzione Shared Catalogs è abilitata nelle impostazioni di configurazione di Admin System.
negotiableQuotePriceUpdate
Aggiorna i prezzi per i preventivi negoziabili. Obbligatorio se l'opzione Quotes è abilitata nelle impostazioni di configurazione di Admin System.
purchaseorder.toorder
Converte l'ordine fornitore in ordine. Obbligatorio se l'opzione Purchase Orders è abilitata nelle impostazioni di configurazione di Admin System.
purchaseorder.transactional.email
Invia e-mail ordine fornitore. Obbligatorio se l'opzione Purchase Orders è abilitata nelle impostazioni di configurazione di Admin System.
purchaseorder.validation
Convalida l'ordine fornitore in base alle regole di approvazione pertinenti. Obbligatorio se l'opzione Purchase Orders è abilitata nelle impostazioni di configurazione di Admin System.
quoteItemCleaner
Elimina i preventivi di prezzo non validi o inattivi quando un prodotto viene eliminato dal catalogo o rimosso dal carrello. Obbligatorio se l'opzione Quotes è abilitata nelle impostazioni di configurazione di Admin System.
inventoryQtyCounter
Corregge in modo asincrono l'indice azionario dopo aver effettuato un ordine o rimosso un prodotto. Obbligatorio se l'opzione Use deferred stock update è abilitata per Inventory management nelle impostazioni di configurazione dell'amministratore. Consulta Best practice per le prestazioni.
async.operations.all
Crea messaggi per ogni singola attività di una operazione in blocco, ad esempio l'importazione o l'esportazione di articoli, la modifica dei prezzi su scala di massa e l'assegnazione di prodotti a un magazzino. Obbligatorio se l'opzione Operazioni collettive di amministrazione per Inventory Management è impostata su Esegui in modo asincrono nelle impostazioni di configurazione di Admin System.
NOTE
Per un elenco di tutti i consumer di messaggi di Adobe Commerce, vedere Consumer di code di messaggi nella Guida alla configurazione.

Configurare i consumer di messaggi

Per evitare possibili problemi di elaborazione o ritardi, aggiungi i seguenti parametri quando avvii il messaggio consumer per le funzionalità B2B.

  • --max-messages <value>— Specifica il numero massimo di messaggi che ogni consumer deve elaborare prima di terminare (impostazione predefinita = 10000). Anche se Adobe non lo consiglia, è possibile utilizzare 0 per impedire al consumatore di terminare. La best practice per un'applicazione PHP consiste nel riavviare i processi a esecuzione prolungata per evitare possibili perdite di memoria.

  • --batch-size <value>: consente di limitare le risorse di sistema utilizzate dai consumatori (CPU, memoria). L’utilizzo di batch più piccoli riduce l’utilizzo delle risorse e, pertanto, rallenta l’elaborazione. Se specificato, i messaggi in una coda vengono utilizzati in batch di <value> ciascuno. Questa opzione è applicabile solo al consumatore batch. Se --batch-size non è definito, il consumer batch riceve tutti i messaggi disponibili in una coda.

Per informazioni sulle opzioni di configurazione aggiuntive, vedere Specific-configuration.

Avvia consumer di messaggi

Per abilitare le operazioni asincrone per le funzionalità B2B, devi avviare più consumer di messaggi.

  1. Elencare i consumatori di messaggi disponibili:

    code language-bash
    bin/magento queue:consumers:list
    

    Il comando restituisce i consumer di messaggi disponibili, inclusi tutti i consumer di messaggi B2B.

  2. Avvia ogni consumatore separatamente:

    code language-bash
    bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
    

    Ad esempio:

    code language-bash
    bin/magento queue:consumers:start quoteItemCleaner
    
TIP
Per eseguirlo in background, aggiungere & al comando, tornare a un prompt e continuare a eseguire i comandi. Esempio: bin/magento queue:consumers:start sharedCatalogUpdatePrice &.

Per ulteriori informazioni, vedere Gestione delle code di messaggi nella Guida alla configurazione.

Aggiungi consumer di messaggi a cron

È possibile automatizzare la pianificazione dell'esecuzione per i consumer di messaggi SharedCatalogUpdateCategoryPermissions e SharedCatalogUpdatePrice aggiungendo la pianificazione al file di configurazione 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 &

Puoi anche configurare le pianificazioni per i consumer di messaggi dalle Impostazioni configurazione archivio nell'amministratore.

Abilitare le funzioni B2B in Amministrazione

Dopo aver installato l'estensione Adobe Commerce B2B e aver avviato i consumer di messaggi, devi anche abilitare le funzionalità B2B in Amministrazione.

88ad8589-1cb8-47eb-a79c-0e4726a4ac2a