Ist es möglich, eine Installation durchzuführen und aus dieser Installation mehrere Shops mit unterschiedlichen Datenbanken zu erstellen?
So etwas wie ich werde eine Installation auf Domain.1 mit einer Datenbank durchführen, und vom Administrator werde ich eine neue Website und einen Speicher in einer neuen Datenbank für Domain.2 erstellen .
Ich weiß, dass mit einer Datenbank mehrere Geschäfte erreicht werden können. Kann es aber bei verschiedenen Datenbanken gleich sein?
magento-1.8
multistore
Mike
quelle
quelle
Antworten:
Tolle Antwort, Slarek. Wir haben etwas sehr ähnliches gemacht. Anstatt index.php zu bearbeiten, richten wir separate Ordner außerhalb der Codebasis von magento ein, fügen mage.php aus diesen Ordnern hinzu und bearbeiten dann das etc_dir (und andere Verzeichnisse) wie in Ihrer obigen Methode.
Ordnerstruktur:
/ www / client1
/ www / client2
/ www / client3
/ www / clientX
/ www / magento
In jedem der Client-Ordner befinden sich:
in /www/clientx/index.php
define('MAGENTO_ROOT', '/www/magento');
... (der Rest von index.php ist wie gewohnt) ...
$client = isset($_SERVER['CLIENT_ID']) ? $_SERVER['CLIENT_ID'] : '';] Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'../'.$client));
Legen wir fest
quelle
Ich denke nicht, dass dies sofort möglich ist. Magento unterstützt die Konfiguration der Master / Slave-Datenbank, aber Sie müssen sie für alle Geschäfte haben.
Und ich denke nicht, dass dies mit benutzerdefinierter Codierung einfach möglich ist, da die Speicher in der Datenbank gespeichert sind.
Abhängig von der Geschäftsansicht müssen Sie also wissen, zu welcher Datenbank eine Verbindung hergestellt werden soll. Um jedoch die Geschäftsansicht zu kennen, müssen Sie eine Datenbank abfragen. Sie rennen also im Kreis herum.
quelle
Sie möchten mehrere separate Geschäfte mit eigenen Datenbanken mit einer einzigen Codebasis haben?
Nun, es gibt keinen einfachen und empfohlenen Weg, dies zu tun. Davon abgesehen können wir sehen, was getan werden kann:
Datenbankinformationen stammen aus einer einzelnen XML-Datei: app / etc / local.xml Diese Datei wird aus app / Mage.php geladen. Wenn Sie diese Datei ändern, können Sie theoretisch entscheiden, welche Konfigurationsdatei Sie laden möchten (basierend auf den gewünschten Bedingung, wie z. B. Domainname). Voila, andere Domain, andere Datenbank. Jetzt kommt der Bad News Part (tm).
quelle
Ich habe gerade diese Erweiterung gefunden:
https://github.com/steverobbins/Magento-Multi_Client
quelle
Sie müssen nur einen neuen Ordner erstellen, der die Konfigurationsdateien enthält, und in index.php fügen Sie Mage :: Run () eine Reihe von Optionen hinzu.
In diesem Ordner befindet sich derselbe Inhalt wie in app / etc / einschließlich des Modulordners.
Erste Domain:
Zweite Domain:
Dadurch wird Magento mitgeteilt, wo sich die Konfigurationsdateien für die Domäne befinden.
quelle
Was ist dein Hauptziel? Anderer Admin-Bereich oder einfachere Handhabung Ihres Quellcodes?
Ich würde es mit einer Mischung aus "lokalen" Verzeichnissen und Dateien und verknüpften (ln -s) allgemeinen Verzeichnissen und Dateien tun
/ www / common / www / shop1 / www / shop2
verbreitet
"lokal"
Könnte aber etwas verwirrend sein.
quelle