Ich weiß, dass diese Frage möglicherweise bereits gestellt wurde, aber ich bin vielen Referenzlinks gefolgt, aber ich kann diese Sache nicht tun. Bitte helfen Sie mir, sie zu erreichen.
Basis-URL = http://127.0.0.1/magento22/
1) Erstellen Sie eine Site in Magento mit 4 Sprachen
- Deutschland
- Francais (französisch)
- Nederland (Niederländisch)
- Schweiz Schweizer)
2) Ändern Sie den Code in index.php
<?php
/**
* Application entry point
*
* Example - run a particular store or website:
* --------------------------------------------
* require __DIR__ . '/app/bootstrap.php';
* $params = $_SERVER;
* $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'website2';
* $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
* $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
* \/** @var \Magento\Framework\App\Http $app *\/
* $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
* $bootstrap->run($app);
* --------------------------------------------
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
try {
require __DIR__ . '/app/bootstrap.php';
} catch (\Exception $e) {
echo <<<HTML
<div style="font:12px/1.35em arial, helvetica, sans-serif;">
<div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;">
<h3 style="margin:0;font-size:1.7em;font-weight:normal;text-transform:none;text-align:left;color:#2f2f2f;">
Autoload error</h3>
</div>
<p>{$e->getMessage()}</p>
</div>
HTML;
exit(1);
}
$params = $_SERVER;
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
switch ($actual_link)
{
case 'http://127.0.0.1/magento22/deutschland/':
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'deutschland';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
break;
case 'http://127.0.0.1/magento22/france/':
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'france';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
echo "11";
break;
case 'http://127.0.0.1/magento22/nederland/':
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'nederland';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
break;
case 'http://127.0.0.1/magento22/switzerland/':
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'switzerland';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
break;
case 'http://127.0.0.1/magento22/':
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'base';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
break;
default:
$params = $_SERVER;
break;
}
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
Antworten:
Die Schritte zum Erstellen eines Multistores im Admin-Bereich wurden in Magento1.x erstellt. Vergessen Sie nicht, die Basis-URL und die sichere URL für eine neue Website / einen neuen Shop zu ändern. Sobald Sie Änderungen im Admin-Bereich vorgenommen haben, führen Sie die folgenden Schritte aus:
1) Erstellen Sie einen neuen Ordner im Magento-Stammverzeichnis und kopieren Sie die Dateien
index.php
und.htaccess
aus dem Magento-Stammverzeichnis in einen neuen Ordner.2) Bearbeiten Sie den
index.php
Ordner, der sich in einem neuen Ordner befindetErsetzen:
Mit:
Und aktualisieren Sie auch den Bootstrap.php-Include-Pfad wie folgt:
Ersetzen:
Mit:
3) Erstellen Sie einen Simlink im neuen Ordner
Verweisen Sie darauf
Bitte löschen Sie die
var/generation,var/cache and pub/static
Dateien und führen Sie die Bereitstellung des statischen Inhalts durch.Letzter Schritt: -store-> configuration-> general-> web-> Store-Ansicht auswählen und Basis-URL für jeden Store hinzufügen
quelle
Wenn der Server NGINX ist, befolgen Sie die folgenden Schritte.
Hier ist das Szenario. Wir haben zwei verschiedene Websites und jede Website hat zwei verschiedene Store-Ansichten wie folgt:
Website 1
Website 2
Website 2 (E-Commerce)
Website 2 (Venda Assistida)
In meiner Lösung werden wir einige Konfigurationen in Magento Admin ändern. Dann werden wir einige Unterordner erstellen und schließlich die Datei nginx.conf ändern.
Zunächst müssen wir einige Konfigurationsänderungen im Magento Admin vornehmen. Gehen Sie zu Stores -> Configuration -> General -> Web. Wir müssen die Basis-URLs für jede Geschäftsansicht ändern.
Für die Standardkonfiguration Bitte geben Sie die folgende Konfiguration für die Standardkonfiguration an.
Für Website 1 (E-Commerce) und Website 1 (Venda Assistida)
Bitte geben Sie die folgende Konfiguration für alle Website 1-Geschäftsansichten an.
Für Website 2 (E-Commerce) und Website 2 (Venda Assistida)
Bitte geben Sie die folgende Konfiguration für alle Website 2-Store-Ansichten an.
Zweitens müssen wir die Ordner website1 und website2 im Verzeichnis / pub erstellen. Im Finale sollten Sie folgende Ordner haben:
Kopieren Sie die Datei pub / index.php in diese Verzeichnisse. Dann werden wir einige Änderungen in
MAGENTO_ROOT/pub/website1/index
.php und vornehmenMAGENTO_ROOT/pub/website2/index.php.
Inhalt von
MAGENTO_ROOT/pub/website1/index.php
Ich habe nur 3 Zeilen geändert:1. Zeile:
require __DIR__ . '/../../app/bootstrap.php';
2. Zeile:
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'website1';
3. Zeile:
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
Für den letzten Schliff müssen wir die Datei nginx.conf in Ihrem Verzeichnis MAGENTO_ROOT ändern. Bitte fügen Sie die folgende Konfiguration in Ihre nginx.conf ein.
Nach all diesen Konfigurationen und Änderungen können Sie Websites als Unterordner verwenden.
quelle
Überprüfen Sie mit dem folgenden Code
quelle