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: Idee betreffs Länderauswahl mehrsprachig

    Gulliver72

    • Mitglied
    • Beiträge: 191
    • Geschlecht:
    Idee betreffs Länderauswahl mehrsprachig
    am: 16. April 2015, 18:52:01
    Das Problem mit der Mehrsprachigkeit der Länderauswahl scheint sich ja schon etwas länger hinzuziehen.
    Vielleicht kann ich eine Idee einbringen, wie es praktikabel gelöst werden könnte.
    Ich kann derzeit nur die Idee liefern und bitte die erfahrenen Coder es, sofern sinnvoll und machbar, umzusetzen.  :paperbag:
    Zur Veranschaulichung hab ich mal nen Screenshot gebastelt. Siehe unten.

    Aus der Tabelle countries lösen wir countries_name heraus und legen eine neue Tabelle an. Diese hat die Spalten id, countries_id, language_id, countries_name. Das setzen von Indizes und Schlüsseln muß ich mal den Experten überlassen. Das Abrufen per Join sollte dann kein Problem sein. Ist also die Kür.
    Nun kommen wir zur Pflicht.  :-D
    Damit die Mehrsprachigkeit bearbeitet werden kann, erweitern wir die Datei admin/countries.php

    case new: ab Zeile 170

     
    Code: PHP  [Auswählen]
    $languagesforcountries_query_raw = "select languages_id, name, code from " . TABLE_LANGUAGES . " order by name";
      $languagesforcountries_query = xtc_db_query($languagesforcountries_query_raw);
      $field_to_edit = '';
      while ($languagesforcountries = xtc_db_fetch_array($languagesforcountries_query)) {
         $field_to_edit .= TEXT_INFO_COUNTRY_NAME . '&nbsp;'.$languagesforcountries['name'].'<br />' . xtc_draw_input_field('countries_name').xtc_draw_hidden_field($languagesforcountries['languages_id']).'<br />';
      }

    Statt
         
    Code: PHP  [Auswählen]
    $contents[] = array('text' => '<br />' . TEXT_INFO_COUNTRY_NAME . '<br />' . xtc_draw_input_field('countries_name'));

    jetzt
         
    Code: PHP  [Auswählen]
    $contents[] = array('text' => '<br />' . $field_to_edit);

    Das Hidden-Feld kann für die Zuordnung beim Speichern genutzt werden. Denke ich  :-?

    case edit: ab Zeile 181

     
    Code: PHP  [Auswählen]
    $languagesforcountries_query_raw = "select languages_id, name, code from " . TABLE_LANGUAGES . " order by name";
      $languagesforcountries_query = xtc_db_query($languagesforcountries_query_raw);
      $field_to_edit = '';
      while ($languagesforcountries = xtc_db_fetch_array($languagesforcountries_query)) {
         $field_to_edit .= TEXT_INFO_COUNTRY_NAME . '&nbsp;'.$languagesforcountries['name'].'<br />' . xtc_draw_input_field('countries_name', $cInfo->countries_name).xtc_draw_hidden_field($languagesforcountries['languages_id']).'<br />';
      }

    Statt
         
    Code: PHP  [Auswählen]
    $contents[] = array('text' => '<br />' . TEXT_INFO_COUNTRY_NAME . '<br />' . xtc_draw_input_field('countries_name', $cInfo->countries_name));
     
    jetzt
         
    Code: PHP  [Auswählen]
    $contents[] = array('text' => '<br />' . $field_to_edit);

    Das case default kann auch angepasst werden.

    Die Speicherung der Daten müßte dann auch noch angepasst werden.

    Im Bild habe ich noch einen Button integriert. Dieser soll eine Funktion anschieben, welche jedes Land aufruft und prüft, ob für jede Sprache ein Eintrag vorhanden ist (ggf. auch ob dieser leer ist). Ist kein Eintrag vorhanden, wird der Ländername mit language_id = 1 (english) für die Sprache gespeichert. Deshalb heißt der Button Sprachen-Grundeinstellung. Ist halt für Faule, damit aber ein Eintrag für jede Sprache vorliegt.

    Wie gesagt, ich bin Laie und hab da mal ne Idee  :flee-mrgreen:
    Entweder haut ihr mich jetzt wegen dem Blödsinn oder ich lieg doch nicht so falsch.

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

    hstreicher

    • Fördermitglied
    • Beiträge: 281
    Re: Idee betreffs Länderauswahl mehrsprachig
    Antwort #1 am: 16. April 2015, 19:16:53
    es gibt schon 2 Lösungen zu diesem Problem hier im Forum
    4 Antworten
    6676 Aufrufe
    17. April 2015, 10:48:33 von Gulliver72
    10 Antworten
    4997 Aufrufe
    24. Januar 2013, 20:34:46 von Gradler
    4 Antworten
    3798 Aufrufe
    27. Oktober 2009, 12:04:08 von mdoll
    15 Antworten
    4635 Aufrufe
    27. November 2018, 19:28:17 von WeXsler
               
    anything