Magento2: Entfernen Sie die Store Code URL nur für den Standard Store

7

Ich entwickle einen Magento 2-Store mit zwei Store-Ansichten, eine für jede Sprache (Englisch und Italienisch). Ich habe die Option "Store Code zu URLs hinzufügen" im Backend aktiviert, sodass meine URLs folgendermaßen aussehen:

http://mystore.com/en (English)
http://mystore.com/it (Italian)

Was ich jetzt tun möchte, ist, den Geschäftscode aus der URL für die Standard-Geschäftsansicht zu entfernen, um Folgendes zu erhalten:

http://mystore.com/ (English)
http://mystore.com/it (Italian)

In Magento 1.9 gibt es einige Erweiterungen, die dies tun. Ich muss etwas für Magento 2 finden (oder entwickeln).

Hat jemand ein paar Hinweise?

Ein gutes Beispiel für das, wonach ich suche, ist folgendes: https://github.com/lalitmohann/magento-hide-default-store-code

gianis6
quelle
Verwenden Sie diese Erweiterung, um dieses Problem zu lösen safemage.com/advanced-url-store-code-magento-2.html
mariano

Antworten:

0

Ich hatte die gleiche Anforderung und konnte sie problemlos mit nur einem Plugin für die Magento\Store\Model\Store::isUseStoreInUrlMethode lösen .

public function afterIsUseStoreInUrl(\Magento\Store\Model\Store $subject, $resultIsUseInUrl)
{
    if ($subject->getCode() != $subject::ADMIN_CODE && $subject->isDefault())
    {
        return $resultIsUseInUrl && $this->scopeConfig->getValue('web/url/use_store_in_default');
    }
    else
    {
        return $resultIsUseInUrl;
    }
}

Ich habe das Plugin im globalen di.xmlstatt im Frontend registriert, da das erste Mal, dass diese Methode als Bereich bezeichnet wird, noch nicht festgelegt wurde, sodass das Plugin nicht ausgeführt wird.

Domeglic
quelle
0

Deaktivieren Sie die Speichercode-URLs in adminside

admin > stores > configuration > General > Web > Add Store Code to Urls > To set NO

Nach dem Upgrade ausführen, statische Inhalte bereitstellen und Clean / Flush-Befehle zwischenspeichern.

Milan Maniya
quelle