[GXMAIN-2947] Änderungen der Kontodaten erscheinen nicht im Checkout!

Thema wurde von Manni_HB, 23. September 2013 erstellt.

  1. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    #1 Manni_HB, 23. September 2013
    Zuletzt bearbeitet: 23. September 2013
    Szenario:
    Otto Normaluser legt brav ein Konto an und geht "Zur Kasse".
    Auf "checkout_shipping" sieht es, dass er ja eigentlich "Ottocar" heißt. Schnell in "Ihr Konto" und den falschen "Otto" berichtigt.

    Freudestrahlend wieder "Zur Kasse" ... und was muss er sehen? Da steht immer noch sein falscher "Otto"! :mad:

    "MistShop" ... geh´ ich doch lieber zu "????" <Alternative zum KaShop natürlich nicht möglich!!!! :cool:>

    Was sagt uns das?
    Diese Logik ist keinem "Normaluser" zu vermitteln! :mad:


    PS: Getestet in 2.0.13.2 r9308
     
  2. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Caching Problem?
     
  3. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Hi Manfred,
    wo hast du denn die Daten des Kunden geändert?

    Es gibt einmal das Kundenkonto und einmal das Adressbuch. Im Checkout wird das Adressbuch genutzt, sodass Änderungen im Kundenkonto nicht ersichtlich im Checkout sind...

    MfG,
    Timo
     
  4. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    "Ihr Konto" - "Kontodaten bearbeiten" ... der arme Kerl hat doch seinen Vornamen bei der Registrierung falsch geschrieben! :)
     
  5. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Das erklärts...

    Beim Registieren wird einmal der Kunde (Stammdaten) angelegt. Gleichzeitig wird im Adressbuch die Adresse angelegt. Wenn man nun im Konto die Daten ändert, werden nur die Stammdaten des Kunden geändert. Das Adressbuch bleibt dabei unberührt.

    Dies ist ein konzeptionelles Problem. Die Lösung wäre:
    Der Kunde legt seinen Account an (Stammdaten). Im Adressbuch kann er abweichende Adressen anlegen (ist optional). Im Shop sollten nun neben den Adressbuch Daten auch die Stammdaten als Rechnungs bzw Versandadresse auswählbar sein. Damit umgeht man das Problem mit den doppelten Einträgen (Stammdaten - Adressbuchdaten). Das Adressbuch wird also nur benutzt, wenn man eine Adresse abweichend von den Stammdaten haben möchte.

    Leider ist dies nicht so einfach realisierbar. Dies ist ein Kernelement des Shop und wird an unzähligen Stellen genutzt. Auch die Kompatibilität zu anderen Modulen kann nicht so einfach gewährleistet werden. Daher habe ich es zwar ins Jira eingetragen, ob eine Lösung dafür umgesetzt wird, ist noch ungewiss...

    MfG,
    Timo

    https://gambio.atlassian.net/browse/GXMAIN-2947
     
  6. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Und wie wäre die Option: "Stammdaten" können nicht im Adressbuch geändert werden, sondern nur in "Kontodaten"? Dann wär man doch aus´m Schneider!??!
     
  7. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Ich verstehe deinen Ansatz noch nicht so ganz.

    Das Problem ist, dass die Adressdaten im Adressbuch stehen. Der Kunde hat jedoch sein Kundenkonto geändert. Deshalb sieht der Kunde die Änderung seines Namens nicht, da er nur die Stammdaten geändert hat. Damit im Checkout die richtige Adresse steht, muss er seine Adressbucheinträge (Versandadresse + Rechnungsadresse) zusätzlich ändern...

    MfG,
    Timo
     
  8. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Stimmt - war falsch! :(
     
  9. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ich muss dieses Thema nochmal aufgreifen.

    Bei einem hohen Anteil an Stammkunden, teilweise aus 2011, kommt von Kundeseite immer öfter die Frage: "Wie kann ich meine Anschrift ändern?"

    Ihnen dann denn verschlungenen Weg über das Adressbuch zu schildern...

    • ist keine einfache Aufgabe
    • stößt auf großes Unverständnis bei den Kunden
    • belastete unsere Hotline unnötig!

    Ist abzusehen wann es zu einer sinnvollen Lösung kommt, so dass der Kunde unter "Ihre persönlichen Daten" seine gesamten Stammdaten ändern kann?
     
  10. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Wo ist hier das Problem???

    Wenn er sein Kundenkonto ändert (da ist ja nur Vor- und Nachname und Geschlecht drin), hat man doch über "customers_default_address_id" Zugriff auf den Adressbucheintrag...

    Da könnte man ja zumindest Vor- und Nachname und Geschlecht aktualisieren....
     
  11. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das habe ich gerade mal gemacht... (Version 2.0.x)

    In "account_edit.php" nach

    PHP:
    xtc_db_query("update ".TABLE_CUSTOMERS_INFO." set customers_info_date_account_last_modified = now() where customers_info_id = '".(int) $_SESSION['customer_id']."'");
    einfügen

    PHP:
        //Avenger
        //Update address_book
        
    debugbreak();
        
    $account_query xtc_db_query("select customers_default_address_id from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'");
        
    $account xtc_db_fetch_array($account_query);
        
    $sql_data_array  = array (
          
    'entry_gender' => $gender,
          
    'entry_firstname' => $firstname,
          
    'entry_lastname' => $lastname
        
    );
        
    xtc_db_perform(TABLE_ADDRESS_BOOK$sql_data_array'update'"address_book_id = '".(int)$account['customers_default_address_id']."'");
        
    //Avenger
    Damit werden Änderungen im Konto am Geschlecht, Vor- und Zuname in das Adressbuch übertragen.
     
  12. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    #12 Manni_HB, 27. Oktober 2014
    Zuletzt bearbeitet: 27. Oktober 2014
    Sehr schön!
    Jetzt bräuchte man doch nur die SQL in der "account_edit" noch erweitern, damit alle relevanten Felder angezeigt und geändert werden können - richtig?
     

    Anhänge:

  13. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Nein, da wird ja von der "customers_tabelle" ausgegangen, und die hat ja nur Geschlecht, Name, Vorname.....

    Die Liefer- und Rechnungsadressen können nur über die Adressbuchfunktion geändert werden....
     
  14. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Diese Lösung löst ja Dein ursprüngliches Szenario;