Installieren der Erweiterung Adobe Commerce B2B
Die Adobe Commerce B2B-Erweiterung magento/extension-b2b
ist für alle unterstützten Versionen von Adobe Commerce verfügbar. Es wird nach der Installation von Adobe Commerce installiert.
Voraussetzungen
- Adobe Commerce, alle unterstützten Versionen
- PHP 8.1 und 8.2
- Composer
Unterstützte Plattformen
- Adobe Commerce über Cloud-Infrastruktur (ECE)
- Adobe Commerce vor Ort (EE)
Installationsschritte
Voraussetzungen
-
Zugriff auf repo.magento.com , um die Erweiterung herunterzuladen. Informationen zur Schlüsselgenerierung und zum Abrufen der erforderlichen Berechtigungen finden Sie unter Abrufen Ihrer Authentifizierungsschlüssel.
Speichern Sie Authentifizierungsschlüssel für die Installation, indem Sie sie global im Verzeichnis COMPOSER_HOME definieren. Oder speichern Sie sie in einer auth.json -Datei im Stammverzeichnis der Adobe Commerce-Anwendung.
-
Unterstützte Version der B2B-Erweiterung - Bestimmen Sie die neueste Version der B2B-Erweiterung, die von der bereitgestellten Adobe Commerce-Version unterstützt wird.
-
In den Versionshinweisen finden Sie die aktuellen Informationen zur Versionskompatibilität, zu Aktualisierungen oder Änderungen, die sich auf die Installations- oder Aktualisierungsanforderungen auswirken können.
Installieren Sie die B2B-Erweiterung (magento/b2b-extension
) mit Composer. Die Erweiterung ist ein Composer-Metapaket, das die Sammlung von Modulen enthält, die die B2B-Funktionen für eine Adobe Commerce-Instanz aktivieren. Eine Liste der enthaltenen Module finden Sie unter B2B-Pakete.
note tip |
---|
TIP |
Bei der Installation von Adobe Commerce B2B in der Cloud-Infrastruktur empfiehlt Adobe, dass Sie Ihre Adobe Commerce-Anwendung vor dem Beginn in einer Integrations- oder Staging-Umgebung bereitstellen. |
Adobe empfiehlt, in einer Entwicklungsverzweigung zu arbeiten, wenn Sie die B2B-Erweiterung zu Ihrem Projekt hinzufügen. Wenn Sie keine Verzweigung haben, finden Sie weitere Informationen unter Erstellen einer Verzweigung für die Entwicklung. Bei der Installation der B2B-Erweiterung wird der Name der Magento_B2b
-Erweiterung automatisch in die Datei app/etc/config.php
eingefügt. Die Datei muss nicht direkt bearbeitet werden.
Installieren der B2B-Erweiterung:
-
Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.
-
Erstellen oder checken Sie einen Entwicklungszweig aus.
-
Fügen Sie die B2B-Erweiterung zum Abschnitt
require
der Dateicomposer.json
hinzu.code language-bash composer require magento/extension-b2b --no-update
-
Aktualisieren Sie die Projektabhängigkeiten.
code language-bash composer update
-
Hinzufügen, Übertragen und Push-Code-Änderungen.
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 Übermitteln von Aktualisierungen an die Cloud-Umgebung wird der Commerce-Cloud-Bereitstellungsprozess initiiert, um die Änderungen anzuwenden. Überprüfen Sie den Bereitstellungsstatus im Bereitstellungsprotokoll. Wenn Bereitstellungsfehler auftreten, finden Sie weitere Informationen unter Wiederherstellen nach Komponentenfehler. -
Nachdem der Build und die Bereitstellung abgeschlossen sind, melden Sie sich mit SSH bei der Remote-Umgebung an und überprüfen Sie, ob die B2B-Erweiterung installiert und aktiviert ist.
code language-bash bin/magento module:status Magento_B2b
Ein Erweiterungsname verwendet das folgende Format:
<VendorName>_<ComponentName>
.Beispielantwort:
code language-none Magento_B2b : Module is enabled
-
Aktualisieren Sie im Stammverzeichnis der Adobe Commerce-Anwendung die
composer.json
-Variable, um die Abhängigkeiten für die B2B-Erweiterung hinzuzufügen:code language-bash composer require magento/extension-b2b:<version>
Wenn beispielsweise ein Fehler auftritt:
code language-none [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
Überprüfen Sie die Rechtschreibung des Pakets, Ihre Versionsbeschränkung und ob das Paket verfügbar ist und mit Ihrer Mindestanforderung an die Stabilität (stabil) übereinstimmt.
-
Geben Sie bei Aufforderung die 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 zur Authentifizierung aufgefordert. -
Führen Sie die folgenden Befehle aus, nachdem der Composer die Module aktualisiert 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 Befehl "Kompilieren"im Entwicklermodus auszuführen.
Konfigurieren und starten Sie nach Abschluss der Installation den Nachrichtenabnehmer.
Verbraucher informieren
Die Adobe Commerce B2B-Erweiterung verwendet MySQL für die Verwaltung von Nachrichtenwarteschlangen. In der folgenden Tabelle sind die Nachrichtenkunden aufgeführt, die B2B-Funktionen unterstützen. Nachdem Sie die Erweiterung installiert haben, starten Sie die Nachricht für die B2B-Funktionen, die für Ihre Commerce-Storefront erforderlich sind.
sharedCatalogUpdatePrice
sharedCatalogUpdateCategoryPermissions
negotiableQuotePriceUpdate
purchaseorder.toorder
purchaseorder.transactional.email
purchaseorder.validation
quoteItemCleaner
inventoryQtyCounter
async.operations.all
Konfigurieren von Nachrichtenbenutzern
Vermeiden Sie mögliche Verarbeitungsprobleme oder -verzögerungen, indem Sie die folgenden Parameter hinzufügen, wenn Sie die Nachricht "Consumer starten" für B2B-Funktionen starten.
-
--max-messages <value>
- Gibt die maximale Anzahl von Nachrichten an, die jeder Verbraucher vor dem Beenden verarbeiten muss (Standard = 10000). Obwohl Adobe es nicht empfiehlt, können Sie mit 0 verhindern, dass der Verbraucher beendet wird. 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 Ihnen, die vom Verbraucher verbrauchten Systemressourcen (CPU, Speicher) zu begrenzen. Die Verwendung kleinerer Batches verringert die Ressourcenbelegung und führt so zu einer langsameren Verarbeitung. Wenn dies angegeben ist, werden Nachrichten in einer Warteschlange in Batches mit jeweils<value>
verbraucht. Diese Option gilt nur für den Batch-Benutzer. Wenn--batch-size
nicht definiert ist, empfängt der Batch-Verbraucher alle verfügbaren Nachrichten in einer Warteschlange.
Weitere Informationen zu zusätzlichen Konfigurationsoptionen finden Sie unter Spezifische Konfiguration.
Starten von Nachrichtenempfängern
Um asynchrone Vorgänge für B2B-Funktionen zu aktivieren, müssen Sie mehrere Nachrichtenverbraucher starten.
-
Geben Sie die verfügbaren E-Mail-Verbraucher an:
code language-bash bin/magento queue:consumers:list
Der Befehl gibt verfügbare Nachrichtenkunden zurück, einschließlich aller B2B-Nachrichtennutzer.
-
Jeden Verbraucher einzeln 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
&
an den Befehl an, kehren Sie zu einer Eingabeaufforderung zurück und fahren Sie mit der Ausführung der Befehle fort. 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 Benutzer der Nachrichten 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 Nachrichtennutzer auch über die Einstellungen für die Store-Konfiguration 🔗 in der Admin-Konsole konfigurieren.
B2B-Funktionen in Admin aktivieren
Nach der Installation der Adobe Commerce-B2B-Erweiterung und dem Starten der Nachrichtenverbraucher müssen Sie auch B-Funktionen in Admin aktivieren.