Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Ländernamen mehrsprachig direkt in der countries.php administrierbar

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Hallo,

    ich will erstmal horchen, ob Interesse an meiner Umsetzung besteht.
    Ich will mir ja nicht zuviel Arbeit machen  :-D
    Für einen anderen xtc-Fork habe ich die Ländernamen mehrsprachig umgesetzt.
    Die Ländernamen können für alle im Shop verwendeten Sprachen im Backend bearbeitet werden.
    Wenn eine Sprache leer gelassen wird, wird automatisch der Ländername in Englisch gespeichert.
    Desweiteren kann man beim Erstellen einer neuen Sprache auch die Ländernamen ohne direkten Zugang zur Datenbank anlegen. Erstmal wird automatisch für die neue Sprache jeder Ländernamen in Englisch abgespeichert. Dann kann man benötigte Länder manuell bearbeiten.
    Der klassische Weg per sql-Dump über z.B. myAdmin ist natürlich schneller und effektiver.

    Edit: Im Backend wird die Übersicht der Ländernamen in der Sprache des Admins angezeigt.
    Nochmal Edit: Es wird keine extra tabelle benötigt. Alle Queries auf die Countries-Tabelle werden mit einem "language_code = $_SESSION['language_code']" in der where-Klausel erweitert.

    Noch zwei Screenshots, damit ihr eine Vorstellung bekommt.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33303.0

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Klingt gut. Gibt es Screenshots von den Dateien wo es vorkommt im Shop?

    webald

    • modified Team
    • Beiträge: 2.791
    Das geht nicht in der Tbelle countries. Für die mehrsprachigkeit der Ländernamen benötigt man eine neue Tabelle.

    1. der PrimaryKey ist countries_id. Dieser ist darüberhinaus als autoincrement festgelegt. Ein LAnd hätte dann aufgrund der Übersetzung mehrere countries_id's.

    2. Ab 2.0 gibt es weitere Unique-Indizes auf den beiden ISO-Code-Spalten.

    Lösbar also nur über neue Tabelle mit den Spalten countries_id, languages_id, country_name mit Primaykey auf countries_id und languages_id.

    Matt

    • Experte
    • Beiträge: 4.241
    Dazu muss man sagen, dass es hier im Forum bereits diverse Lösungen dafür gibt (die aus unerfindlichen Gründen noch immer nicht Einzug in den Core erhalten haben), die aber AFAIR alle keine Administrierbarkeit im Admin mit sich bringen (was ich persönlich auch für unnötig halte, da sich Ländernamen nicht allzu oft ändern und ich mit phpMyAdmin arbeiten kann, ohne was kaputt zu machen. Ich bin hier also evtl. nur bedingt ein guter Maßstab).

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    @Matt
    Die Ländernamen ändern sich sicher nicht so oft. Allerdings können die Länder halt für eine neue Sprache direkt erstellt werden. Vom Aufwand her macht das sicher nur Sinn, wenn man z.B. nur EU verschickt. Dann ist der Aufwand überschaubar.
    Wie du auch richtig bemerkt hast, hats keine Erweiterung in den Stable geschafft.  :-?

    @Webald
    Am sinnvollsten ist sicherlich eine Tabelle mit id, iso-codes und status und eine zweite Tabelle mit id, language und Ländernamen.
    Aber so etwas "korrektes" wirds nicht geben  ;-)
    Meins funktioniert halt auch

    Meine Entscheidung, mir die Arbeit zu sparen, war wohl richtig  :-D
    2 Antworten
    2237 Aufrufe
    20. Dezember 2016, 23:05:49 von ELF-K11
    1 Antworten
    1764 Aufrufe
    20. Juni 2014, 23:15:31 von Matt
    0 Antworten
    1620 Aufrufe
    24. Oktober 2012, 23:01:11 von Simon