Est-il possible de faire une seule installation, et à partir de cette installation de faire plusieurs boutiques avec différentes bases de données?
Quelque chose comme je ferai une installation sur domain.1 avec une base de données, et de l'administrateur je créerai un nouveau site Web et un magasin sur une nouvelle base de données pour domain.2 .
Je sais que plusieurs magasins peuvent être réalisés avec une seule base de données. Mais peut-il en être de même avec différentes bases de données.
Réponses:
Grande réponse slarek. Nous avons fait quelque chose de très similaire. Au lieu de modifier index.php, nous configurons des dossiers séparés en dehors de la base de code de magento, et incluons mage.php à partir de ces dossiers, puis éditons le etc_dir (et les autres répertoires) comme dans votre méthode ci-dessus.
structure des dossiers:
/ www / client1
/ www / client2
/ www / client3
/ www / clientX
/ www / magento
À l'intérieur de chacun des dossiers clients se trouvent:
dans /www/clientx/index.php
define('MAGENTO_ROOT', '/www/magento');
... (le reste de index.php fonctionne comme d'habitude) ...
$client = isset($_SERVER['CLIENT_ID']) ? $_SERVER['CLIENT_ID'] : '';] Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'../'.$client));
Nous fixons
la source
Je ne pense pas que cela soit possible hors de la boîte. Magento prend en charge la configuration de la base de données maître / esclave, mais vous devez les avoir pour tous les magasins.
Et je ne pense pas que cela puisse être fait facilement avec un codage personnalisé car les magasins sont conservés dans la base de données.
Ainsi, selon la vue du magasin, vous devez savoir à quelle base de données vous connecter, mais pour connaître la vue du magasin, vous devez interroger une base de données. Vous courez donc en rond.
la source
Vous souhaitez avoir plusieurs magasins distincts avec leurs propres bases de données en utilisant une base de code unique?
Eh bien, il n'y a pas de moyen simple et recommandé de le faire. Cela étant dit, nous pouvons voir ce qui PEUT être fait:
Les informations de la base de données proviennent d'un seul fichier xml: app / etc / local.xml Ce fichier est en cours de chargement depuis app / Mage.php, donc si vous changez ce fichier, vous pouvez théoriquement décider quel fichier de configuration vous allez charger (en fonction de (par exemple, nom de domaine). Voila, domaine différent, base de données différente. Vient maintenant la partie Bad News (tm).
la source
je viens de trouver cette extension:
https://github.com/steverobbins/Magento-Multi_Client
la source
Vous avez juste besoin de créer un nouveau dossier pour contenir les fichiers de configuration et dans index.php vous ajoutez un tableau d'options à Mage :: Run ().
Dans ce dossier, vous aurez le même contenu que app / etc /, y compris le dossier modules.
Premier domaine:
Deuxième domaine:
cela indiquera à Magento où se trouvent les fichiers de configuration pour le domaine.
la source
Quel est votre objectif principal? Zone d'administration différente ou gestion plus facile de votre code source?
Je le ferais avec un mélange de répertoires et fichiers "locaux" et de répertoires et fichiers communs liés (ln -s)
/ www / common / www / shop1 / www / shop2
commun
"local"
Mais cela pourrait être un peu déroutant.
la source