Opencart 3 + Multidomain + Multishop - Eine Anleitung
-
Alex07 -
2. Januar 2024 um 07:41 -
2.321 Mal gelesen
- Soll
- Ist
- Problem
- Lösungsschritte:
- Weshalb der ganze Aufwand?
-
Die Lösung
- Schritt 1 - Die CH-Domain muss auf den Account der Opencart-Installation zeigen
- Schritt 2: Eine .htaccess-Weiche muss eingebaut werden.
- Schritt 3 und 4: Ein deutsches Sprachfile muss vom Standardmäßigen de auf de-ch umgeschrieben und hochgeladen werden.Das vorhandene deutsche Sprachfile muss auf de-de umgeschrieben und erneut hochgeladen werden.
- Schritt 5: Ein neuer Store muss angelegt werden.
- Schritt 6: Eine Änderung an der header.twig des neuen Stores mit dem internen Theme-Editor.
Soll
- Es sollen 2 länderspezifische Domains verwendet werden (DE und CH)
- Es soll nur 1 Adminbackend verwendet werden
- Warenangebot, Storefront, Rechnungsstellung, Informationsseiten, Textcontent und Metatags der Artikel sollen sich bei beiden Domains unterscheiden
- Rechtliche Anforderungen für das Warenangebot und die Rechnungsstellung eines EU-Unternehmens müssen für den Schweizer Raum erfüllt werden
Ist
- Opencart 3.0.3.8-Installation in EN/DE
- 2 Lizenzen Journal 3.1.12-Layout
- 2 registrierte Domains für den DE- und den CH-Shop
- User-Account bei Opencart
- User-Account bei ThemeForest
- Hosting-Backend Plesk zB. bei SEO NW
Problem
Für Opencart 3.x existieren derzeit keine Sprachdateien die de-de, de-at und de-ch unterscheiden – es existiert nur de. Ab Opencart 4.x existiert das Sprachfile DACH (Deutschland –- Austria - Schweiz). Das Problem bestand bei einem Kunden und wir haben die Lösung erarbeitet. Das Projekt kann live gesehen werden unter:
Lösungsschritte:
- Die CH-Domain muss auf den Account der Opencart-Installation zeigen
- Eine .htaccess-Weiche muss eingebaut werden.
- Ein deutsches Sprachfile muss vom Standardmässigen de auf de-ch umgeschrieben und hochgeladen werden.
- Das vorhandene deutsche Sprachfile muss auf de-de umgeschrieben und erneut hochgeladen werden.
- Ein neuer Store muss angelegt werden.
- Diesem Store muss die neue CH-Domain und die de-ch-Sprache zugewiesen werden.
- Eine kleine Nachkontrolle und evtl Ergänzung in der Datenbank.
- Eine Änderungen an der header.twig des neuen Stores mit dem internen Theme-Editor.
- Bei Verwendung eines Journal-Themes müssen ein neuer Skin und möglicherweise umfangreiche Änderungen der Layoutvorlagen vorgenommen werden.
Weshalb der ganze Aufwand?
Nimm an, Du hast einen deutschsprachigen Shop mit einer DE-Domain. Nun willst Du für Deine Kunden in der Schweiz einen eigenen Shop mit einer CH-Domain
bereitstellen. Egal, ob dies aus SEO-Gründen, steuerlichen oder betrieblichen Notwendigkeiten geschieht.
Um den Verwaltungsaufwand gering zu halten, willst Du nur ein Adminbackend.
Du kannst aber kein Schweizer Sprachfile installieren, weil es einfach keines gibt. Du kannst auch nicht einfach nochmal ein deutsches Sprachfile installieren und das dann “Schweiz” nennen.
Du benötigst aber zwingend 2 Sprachen, damit Du unterschiedliche Artikeltexte, Metatags, URL, Informationsseiten anlegen kannst.
Die 3. Sprache (Englisch) dient als Fallback, da die meisten Module nur en-gb-Sprachfiles haben.
Die Lösung
Schritt 1 - Die CH-Domain muss auf den Account der Opencart-Installation zeigen
Gehe in Dein Plesk Adminbackend. Gehe zu deinedomain.de. Lege für deinedomain.de eine Aliasdomain an und trage dort deinedomain.ch ein. Lass den Eintrag für die Weiterleitung 301 frei.
Schritt 2: Eine .htaccess-Weiche muss eingebaut werden.
#multishop
RewriteCond %{HTTP_HOST} seiden-handel.de
RewriteCond %{HTTP_HOST} !^www.seiden-handel.de$
RewriteRule ^(.*)$ https://www.seiden-handel.de/$1 [R=301,L]
RewriteCond %{HTTP_HOST} seidenhandel.ch
RewriteCond %{HTTP_HOST} !^seidenhandel.ch$
RewriteRule ^(.*)$ https://seidenhandel.ch/$1 [R=301,L]
#ende multishop
Damit wird der DE-Shop mit www angezeigt und de CH-Shop ohne www.
Schritt 3 und 4: Ein deutsches Sprachfile muss vom Standardmäßigen de auf de-ch umgeschrieben und hochgeladen werden.
Das vorhandene deutsche Sprachfile muss auf de-de umgeschrieben und erneut hochgeladen werden.
Kopiere die de-Sprachfiles unter /admin/language/de-de und unter /catalog/language/de-de mit allen Unterordnern.
Benenne die Kopie in de-ch um.
Die Dateien /admin/language/de-de.php und /catalog/language/de-de.php ändern zu:
und
Die Dateien /admin/language/de-ch.php und /catalog/language/de-ch.php ändern zu:
und
Lade nun die Sprachfiles für de-de und de-ch wieder auf den Server.
Schritt 5: Ein neuer Store muss angelegt werden.
Gehe im Backend von OpenCart auf System > Lokale Einstellungen > Sprachen. Deutsch sollte so aussehen. Gegebenenfalls ändere den Eintrag unter Code zu de-de.
Lege eine neue Sprache an:
- Vergiss nicht, auch den Schweizer Franken als neue Währung einzutragen.
- Gehe indessen zu System > Einstellungen > Stores und trage dort Deinen neuen Store ein.
Schritt 6: Eine Änderung an der header.twig des neuen Stores mit dem internen Theme-Editor.
Gehe im Backend von OpenCart zu Design > Vorlageneditor.
Wähle zuerst den neuen CH-Store aus.
Unter “Vorlage auswählen” gehe zu common >header.twig
Ändere den Eintrag lang=“[[ LANG ]]” zu lang=“de-ch”.
Dies dient dazu, dass Du den CH-Shop in Deinem google-Account lokalisieren kannst.