Multistore für NexoPOS
Das Nexo MultiStore-Modul ermöglicht es Ihnen, mehrere Stores innerhalb einer einzigen NexoPOS-Installation zu verwalten – alles mit einer gemeinsamen Datenbank. Jeder Store profitiert von nahezu allen Funktionen des Einzel-Store-Modus, bleibt dabei jedoch vollständig isoliert – sodass sich Daten, Vorgänge und Konfigurationen zwischen den Stores nicht überschneiden.
Installation
Dies ist ein NexoPOS-Modul und sollte daher über das Dashboard installiert werden. Stellen Sie nach der Installation sicher, dass das Modul aktiviert ist.
Dashboard
Sobald das MultiStore-Modul aktiviert ist, ändert sich das Layout des Dashboards. Es wird ein neues Hauptdashboard angezeigt sowie neue Bedienelemente.
Wie bereits erwähnt, hat jeder Shop seine eigenen Komponenten, die Folgendes umfassen:
- Produkte,
- Produktkategorien
- Kunden, Kundengruppen
- Einheit & Einheitengruppen
- Anbieter, Beschaffungen
- Einstellungen,
- Bestellungen
- Ausgabenkategorie & Ausgaben
- Benachrichtigungen
So erstellen Sie einen Sub-Store
Während Sie sich im Dashboard befinden, können Sie entweder auf das Store-Shortcut-Pop-up klicken oder im Seitenmenü auf den Bereich „Stores“ (Stores-Menü).
Dies führt Sie zur Store-Liste, in der Sie Stores erstellen, verwalten oder löschen können. Klicken Sie auf die Schaltfläche „+“ der Tabelle, um einen neuen Store zu erstellen.
Dies führt Sie zu einem neuen Bildschirm, auf dem Sie die Store-Informationen ausfüllen können, z. B.:
- Geschäftsname
- Status (während der Erstellung des Status ist dieser immer „building“)
- Bild speichern
- Beschreibung
Wenn Sie auf „Speichern“ klicken, werden Sie zur Shop-Liste weitergeleitet, während der Sub-Shop im Hintergrund erstellt wird, wenn die „Workers“ (oder Queues) korrekt konfiguriert sind. Nach der Erstellung sollten Sie eine Benachrichtigung erhalten, die anzeigt, dass der Shop einsatzbereit ist.
Auf einen Shop zugreifen
Wenn ein Shop geöffnet wird, kann er aufgerufen werden. Um auf einen Shop zuzugreifen, müssen Sie das Popup „Shops“ öffnen, indem Sie auf die Schaltfläche „Shops“ oben auf jeder Seite klicken (wenn der Multistore aktiviert ist).
Wenn Sie auf einen Sub-Store zugreifen, sieht er wie ein einzelner Store aus, da er auch wie ein einzelner Store wirkt und funktioniert. Sie könnten den Store sogar testen, indem Sie diesen Store zurücksetzen.
So schränken Sie den Zugriff auf bestimmte Rollen ein
Nexo Multi-Store-Module werden mit neuen Berechtigungen geliefert, die die Möglichkeit gewähren, einen Shop zu erstellen, zu aktualisieren, zu löschen und darauf zuzugreifen. Diese Berechtigungen sind zusammen mit dem im NexoPOS enthaltenen Berechtigungsmanager zu verwenden.
Standardmäßig haben das Master-Konto und der Store-Manager Zugriff auf Sub-Stores. Um diesen Zugriff für andere Rollen (auch benutzerdefinierte Rollen) zu aktivieren, müssen Sie den Zugriff ausdrücklich erlauben.
Unterstützung für Wildcard-Domains
Ab Version 4.6.0 unterstützt das Multistore-Modul Platzhalter-Domains. Das bedeutet, dass Sie so viele Subdomains erstellen können und für jedes Sub-Store eine eindeutige URL erhalten. Jeder Store hat dann eine eigene Anmeldeseite, und Sie können den Zugriff auf diese Stores einschränken. Wenn Ihre Hauptdomain beispielsweise „mypos.com“ ist, können Sie für Subsites die folgenden URLs verwenden:
https://store-a.mypos.comhttps://another-store.mypos.com...
Jeder Laden ist isoliert und teilt daher nicht dieselben Ressourcen (Produkte, Bestellungen, Kunden usw.).
Sehen wir uns an, wie man die Wildcard-Domänen konfiguriert.
Hinweis: Diese Funktion funktioniert nicht auf localhost. Daher sind Sie eingeladen, diese Schritte nicht zu befolgen oder diese Funktion nicht zu aktivieren, wenn NexoPOS lokal gehostet wird. Nur wenn Sie eine gültige Domain haben und die DNS-Einstellungen Ihrer Domain konfigurieren können, können Sie diese Funktion nutzen.
Aktivieren von Wildcard-Domains auf NexoPOS
Die erste Konfiguration besteht darin, NexoPOS so einzurichten, dass Wildcard-Domains verwendet werden. Dazu müssen Sie diesen „Key“ zur .env-Datei hinzufügen.
NS_WILDCARD_ENABLED=trueCopy
Beim Definieren dessen musst du sicherstellen, dass dein APP_URL auf deine tatsächliche Hauptdomain zeigt. Angenommen, deine Hauptdomain ist „mypos.com“, dann sollte dein „APP_URL“ entweder „https://mypos.com“ oder „http://mypos.com“ sein (je nachdem, ob du SSL verwendest oder nicht).
Konfigurieren des DNS für Wildcard-Support
Laut Ihrem Manager müssen Sie zu Ihrer DNS-Konfiguration gehen und Wildcard-Domains erstellen. In unserem Beispiel verwenden wir Cloudflare, aber die Konfiguration sollte mit jedem anderen Anbieter funktionieren.
Dann gehen wir zum DNS und erstellen einen neuen Datensatz für unsere Domain.
Konfigurieren von Apache zur Unterstützung von Wildcard-Domains
Wenn Sie zuvor eine feste Domain für NexoPOS 4.x verwendet haben, müssen Sie die Apache-Konfiguration bearbeiten, um die Unterstützung für Wildcards zu aktivieren. Wir bearbeiten hier die Konfigurationsdatei, die auf unsere NexoPOS-4.x-Installation verweist.
<VirtualHost *:80> ServerName *.nexopos.com ServerAlias *.nexopos.com DocumentRoot /var/www/html/v4.nexopos.com/public <Directory /var/www/html/v4.nexopos.com/public> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> <FilesMatch \.php$> # 2.4.10+ kann an Unix-Socket weiterleiten SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost" </FilesMatch></VirtualHost>Kopieren
Damit können wir beim Erstellen eines Shops mit dem Slug „store-a“ auf diesen Shop über „https://store-a.nexopos.com“ usw. zugreifen.
Vergessen Sie nicht, Apache neu zu starten, sobald Sie mit Ihrer Konfiguration fertig sind.
Heiligtumsläden deklarieren
Sanctum ist eine Bibliothek, die die Authentifizierung auf NexoPOS 4.x übernimmt. Jede Authentifizierung muss von einer deklarierten Domain aus erfolgen. Domains werden (durch ein Komma getrennt) im Schlüssel „SANCTUM_STATFUL_DOMAINS“ aus der .env-Datei deklariert. In unserem Beispiel ist der Schlüssel wie folgt definiert:
SANCTUM_STATEFUL_DOMAINS=nexopos.comCopy
Aber wenn wir zum Beispiel 3 Stores mit unterschiedlichen Slugs erstellt haben, müssen wir die Adresse für diese Stores registrieren, damit sich Nutzer mit diesen Domains anmelden können. So sollte dieser Schlüssel jetzt aussehen, wenn wir diese Domains speichern müssen: store-a, store-b, store-c
SANCTUM_STATEFUL_DOMAINS=nexopos.com, store-a.nexopos.com, store-b.nexopos.com, store-c.nexopos.comKopieren
Jedes Mal, wenn ein Store erstellt wird (vorerst), musst du den neuen Store in der .env-Datei deklarieren.