Installieren der Adobe Commerce B2B

Die Adobe Commerce B2B-Erweiterung magento/extension-b2b ist für alle unterstützten Versionen von Adobe Commerce verfügbar. Sie wird nach der Installation von Adobe Commerce installiert.

Anforderungen

  • Adobe Commerce, alle unterstützten Versionen
  • PHP 8.1 und 8.2
  • Composer
IMPORTANT
Adobe Commerce B2B ab Version 1.4.2 ist nicht mit PHP 8.3 kompatibel. Wenn Sie die Commerce-Instanz auf Commerce Version 2.4.7+ aktualisieren, stellen Sie sicher, dass die auf der Instanz installierte PHP-Version PHP 8.2 ist, um die Kompatibilität mit B2B 1.4.2+ beizubehalten.

Unterstützte Plattformen

  • Adobe Commerce auf Cloud-Infrastruktur (ECE)
  • Adobe Commerce On-Premises (EE)

Installationsschritte

recommendation-more-help

Voraussetzungen

Installieren Sie die B2B-Erweiterung (magento/b2b-extension) mit dem Composer. Die -Erweiterung ist ein Composer-Metapaket, das die Auflistung von -Modulen enthält, die die B2B-Funktionen für eine Adobe Commerce-Instanz aktivieren. Eine Liste der enthaltenen Module finden Sie unter B2B-.

Cloud-Infrastruktur
note tip
TIP
Bei der Installation von Adobe Commerce B2B auf einer Cloud-Infrastruktur empfiehlt Adobe, Ihre Adobe Commerce-Anwendung in einer Integrations- oder Staging-Umgebung bereitzustellen, bevor Sie beginnen.

Adobe empfiehlt, in einer Entwicklungsverzweigung zu arbeiten, wenn Sie Ihrem Projekt die B2B-Erweiterung hinzufügen. Wenn Sie keine Verzweigung haben, lesen Sie Erstellen einer Verzweigung für die Entwicklung. Bei der Installation der B2B-Erweiterung wird der Name der Magento_B2b-Erweiterung automatisch in die app/etc/config.php-Datei eingefügt. Es ist nicht erforderlich, die Datei direkt zu bearbeiten.

So installieren Sie die B2B-:

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.

  2. Erstellen oder Auschecken einer Entwicklungsverzweigung.

  3. Fügen Sie die B2B-Erweiterung zum Abschnitt require der composer.json hinzu.

    code language-bash
    composer require magento/extension-b2b --no-update
    
  4. Aktualisieren Sie die Projektabhängigkeiten.

    code language-bash
    composer update
    
  5. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    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
    Durch das Pushen von Aktualisierungen an die Cloud-Umgebung wird der Commerce-Cloud-Bereitstellungsprozess gestartet, um die Änderungen anzuwenden. Überprüfen Sie den Bereitstellungsstatus im Bereitstellungsprotokoll. Wenn Sie auf Bereitstellungsfehler stoßen, lesen Sie Nach Komponentenfehler wiederherstellen.
  6. Nachdem der Build und die Bereitstellung abgeschlossen sind, verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden und sicherzustellen, dass die B2B-Erweiterung installiert und aktiviert ist.

    code language-bash
    bin/magento module:status Magento_B2b
    

    Ein Erweiterungsname verwendet das Format <VendorName>_<ComponentName>.

    Beispielantwort:

    code language-none
    Magento_B2b : Module is enabled
    
On-Premises
  1. Aktualisieren Sie im Stammverzeichnis der Adobe Commerce-Anwendung die composer.json , um die Abhängigkeiten für die B2B-Erweiterung hinzuzufügen:

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

    Wenn ein Fehler auftritt, zum Beispiel:

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

    Überprüfen Sie die Schreibweise des Pakets, Ihre Versionsbeschränkung und, ob das Paket verfügbar ist und Ihren Mindestanforderungen an die Stabilität (stabil) entspricht.

  2. Geben Sie bei Aufforderung Ihre Authentifizierungsschlüssel ein.

    Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort. Wenn Sie Ihre öffentlichen und privaten Schlüssel in auth.json gespeichert haben, werden Sie nicht aufgefordert, sich zu authentifizieren.

  3. Führen Sie die folgenden Befehle aus, nachdem Composer die Aktualisierung der Module abgeschlossen hat:

    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
    Im Produktionsmodus erhalten Sie möglicherweise eine Nachricht an Please rerun Magento compile command. Geben Sie die Befehle ein, um die Installation abzuschließen. Adobe Commerce fordert Sie nicht auf, den Kompilierungsbefehl im Entwicklermodus auszuführen.

Konfigurieren und starten Sie nach Abschluss der Installation Message Consumer.

Nachrichtenkonsumenten

Die Adobe Commerce B2B-Erweiterung verwendet MySQL für die Verwaltung von Nachrichtenwarteschlangen. In der folgenden Tabelle sind die Nachrichtenkonsumenten aufgeführt, die B2B-Funktionen unterstützen. Starten Sie nach der Installation der Erweiterung die Nachricht Consumer für die B2B-Funktionen, die für Ihre Commerce-Storefront erforderlich sind.

Verbraucher
Beschreibung
sharedCatalogUpdatePrice
Aktualisiert den Preis für jedes Produkt in einem freigegebenen Katalog. Erforderlich, wenn die Option Shared Catalogs in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
sharedCatalogUpdateCategoryPermissions
Aktualisiert Kategorien, die einer freigegebenen Katalogkategorie zugewiesen sind. Erforderlich, wenn die Option Shared Catalogs in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
negotiableQuotePriceUpdate
Aktualisiert Preise für verhandelbare Angebote. Erforderlich, wenn die Option Quotes in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
purchaseorder.toorder
Wandelt eine Bestellung in eine Bestellung um. Erforderlich, wenn die Option Purchase Orders in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
purchaseorder.transactional.email
Senden Sie E-Mails zu Bestellungen. Erforderlich, wenn die Option Purchase Orders in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
purchaseorder.validation
Validiert eine Bestellung anhand der relevanten Genehmigungsregeln. Erforderlich, wenn die Option Purchase Orders in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
quoteItemCleaner
Löscht ungültige oder inaktive Preisangebote, wenn ein Produkt aus dem Katalog gelöscht oder aus dem Warenkorb entfernt wird. Erforderlich, wenn die Option Quotes in den Konfigurationseinstellungen des Admin-Systems aktiviert ist.
inventoryQtyCounter
Korrigiert asynchron den Aktienindex, nachdem eine Bestellung aufgegeben oder ein Produkt entfernt wurde. Erforderlich, wenn die Option Use deferred stock update für Inventory management in den Admin-Konfigurationseinstellungen aktiviert ist. Siehe Best Practices für die Leistung.
async.operations.all
Erstellt Nachrichten für jede einzelne Aufgabe eines Massenvorgangs“,. B. den Import oder Export von Artikeln, die Änderung von Preisen in großem Maßstab und die Zuweisung von Produkten zu einem Lager. Erforderlich, wenn die Option Massenvorgänge von Administratoren für Inventory Management in den Konfigurationseinstellungen des Administratorsystems auf Asynchron ist.
NOTE
Eine Liste aller Adobe Commerce-Nachrichtenkonsumenten finden Sie unter Nachrichtenwarteschlangenkonsumenten im Konfigurationshandbuch.

Konfigurieren von Nachrichtenkonsumenten

Vermeiden Sie mögliche Verarbeitungsprobleme oder -verzögerungen, indem Sie die folgenden Parameter hinzufügen, wenn Sie die Nachrichten-Consumer starten für B2B-Funktionen.

  • --max-messages <value>- Gibt die maximale Anzahl an Nachrichten an, die jeder Consumer vor dem Beenden verarbeiten muss (Standard = 10000). Obwohl das Adobe nicht empfohlen wird, können Sie 0 verwenden, um zu verhindern, dass der Verbraucher beendet. Die Best Practice für eine PHP-Anwendung besteht darin, langwierige Prozesse neu zu starten, um mögliche Speicherlecks zu vermeiden.

  • --batch-size <value> - Ermöglicht es Ihnen, die von den Verbrauchern verbrauchten Systemressourcen (CPU, Speicher) zu begrenzen. Die Verwendung kleinerer Batches reduziert die Ressourcennutzung und führt daher zu einer langsameren Verarbeitung. Wenn angegeben, werden Nachrichten in einer Warteschlange in Batches von jeweils <value>. Diese Option gilt nur für den Batch-Verbraucher. Wenn --batch-size nicht definiert ist, erhält der Batch-Benutzer alle verfügbaren Nachrichten in einer Warteschlange.

Weitere Informationen zu zusätzlichen Konfigurationsoptionen finden Sie unter Specific-configuration.

Nachrichtenkonsumenten starten

Um asynchrone Vorgänge für B2B-Funktionen zu aktivieren, müssen Sie mehrere Nachrichten-Consumer starten.

  1. Auflisten der verfügbaren Nachrichtenbenutzer:

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

    Der Befehl gibt verfügbare Nachrichtenverbraucher zurück, einschließlich aller B2B-Nachrichtenverbraucher.

  2. Jeden Verbraucher separat starten:

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

    Beispiel:

    code language-bash
    bin/magento queue:consumers:start quoteItemCleaner
    
TIP
Um sie im Hintergrund auszuführen, hängen Sie & an den Befehl an, kehren zu einer Eingabeaufforderung zurück und führen Sie die Befehle weiter aus. Beispiel: bin/magento queue:consumers:start sharedCatalogUpdatePrice &.

Weitere Informationen finden Sie unter Verwalten von Nachrichtenwarteschlangen im Konfigurationshandbuch.

Hinzufügen von Nachrichtenkonsumenten zu Cron

Sie können den Ausführungsplan für die SharedCatalogUpdateCategoryPermissions- und SharedCatalogUpdatePrice automatisieren, indem Sie den Zeitplan zur Cron-Konfigurationsdatei /app/code/Magento/MessageQueue/etc/crontab.xml hinzufügen.

* * * * * 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 &

Sie können Zeitpläne für Nachrichtenbenutzer auch über die Store-Konfigurationseinstellungen im Admin-Bereich konfigurieren.

Aktivieren von B2B-Funktionen in Admin

Nach der Installation der Adobe Commerce B2B-Erweiterung und dem Start der Nachrichtenbenutzer müssen Sie auch B2B-Funktionen in Admin aktivieren.

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