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: MODUL: Kunden Adressbuch im Adminbereich bearbeiten und in Bestellungen darauf zugreifen

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Ich musste das umsetzen und möchte euch das nicht vorenthalten.

    Es können die Adressbucheinträge der Kunden angesehen, editiert, gelöscht und auch neu angelegt werden.

    Zudem ist es jetzt auch möglich in den Bestellungen auf die Adressen im Adressbuch zuzugreifen.

    Dazu müssen folgende Erweiterungen vorgenommen werden:

    /lang/german/admin/buttons.php

    das hier am Ende einfügen:

    Code: PHP  [Auswählen]
    define('BUTTON_ADDRESS_BOOK', 'Adressbuch');

    /lang/german/admin/customers.php

    das hier am Ende einfügen:

    Code: PHP  [Auswählen]
    define('TEXT_INFO_HEADING_ADRESS_BOOK', 'Adressbuch');
    define('TEXT_INFO_DELETE', '<b>Diesen Adressbucheintrag löschen ?</b>');
    define('TEXT_INFO_DELETE_DEFAULT', '<b>Dieser Adressbucheintrag kann nicht gelöscht werden !</b>');

    /admin/orders_edit.php

    suche das hier:

    Code: PHP  [Auswählen]
      $sql_data_array = array ('customers_vat_id' => xtc_db_prepare_input($_POST['customers_vat_id']),
                               'customers_status' => xtc_db_prepare_input($_POST['customers_status']),
                               'customers_status_name' => xtc_db_prepare_input($status['customers_status_name']),
                               'customers_company' => xtc_db_prepare_input($_POST['customers_company']),
                               'customers_name' => xtc_db_prepare_input($_POST['customers_name']),
                               'customers_street_address' => xtc_db_prepare_input($_POST['customers_street_address']),
                               'customers_city' => xtc_db_prepare_input($_POST['customers_city']),
                               'customers_postcode' => xtc_db_prepare_input($_POST['customers_postcode']),
                               'customers_country' => xtc_db_prepare_input($_POST['customers_country']),
                               'customers_telephone' => xtc_db_prepare_input($_POST['customers_telephone']),
                               'customers_email_address' => xtc_db_prepare_input($_POST['customers_email_address']),
                               'delivery_company' => xtc_db_prepare_input($_POST['delivery_company']),
                               'delivery_name' => xtc_db_prepare_input($_POST['delivery_name']),
                               'delivery_street_address' => xtc_db_prepare_input($_POST['delivery_street_address']),
                               'delivery_city' => xtc_db_prepare_input($_POST['delivery_city']),
                               'delivery_postcode' => xtc_db_prepare_input($_POST['delivery_postcode']),
                               'delivery_country' => xtc_db_prepare_input($_POST['delivery_country']),
                               'billing_company' => xtc_db_prepare_input($_POST['billing_company']),
                               'billing_name' => xtc_db_prepare_input($_POST['billing_name']),
                               'billing_street_address' => xtc_db_prepare_input($_POST['billing_street_address']),
                               'billing_city' => xtc_db_prepare_input($_POST['billing_city']),
                               'billing_postcode' => xtc_db_prepare_input($_POST['billing_postcode']),
                               'billing_country' => xtc_db_prepare_input($_POST['billing_country']));

    danach das hier einfügen:

    Code: PHP  [Auswählen]
      if (isset($_POST['delivery_country_adress_book']) && $_POST['delivery_country_adress_book'] != 0) {
        $delivery_country_adress_book = xtc_db_prepare_input($_POST['delivery_country_adress_book']);
        $delivery_query = xtc_db_query("select address_book_id,
                                              entry_firstname as firstname,
                                              entry_lastname as lastname,
                                              entry_company as company,
                                              entry_street_address as street_address,
                                              entry_suburb as suburb,
                                              entry_city as city,
                                              entry_postcode as postcode,
                                              entry_state as state,
                                              entry_zone_id as zone_id,
                                              entry_country_id as country_id
                                       from "
    .TABLE_ADDRESS_BOOK."
                                        where address_book_id = '"
    .(int) $delivery_country_adress_book."'");
        $delivery = xtc_db_fetch_array($delivery_query);
        $delivery_data_array = array ('delivery_company' => $delivery['company'],
                                 'delivery_name' => $delivery['firstname'] . ' ' . $delivery['lastname'],
                                 'delivery_street_address' => $delivery['street_address'],
                                 'delivery_city' => $delivery['city'],
                                 'delivery_postcode' => $delivery['postcode'],
                                 'delivery_country' => xtc_get_country_name($delivery['country_id']));
        $sql_data_array = xtc_array_merge($sql_data_array, $delivery_data_array);
      }

      if (isset($_POST['billing_country_adress_book']) && $_POST['billing_country_adress_book'] != 0) {
        $billing_country_adress_book = xtc_db_prepare_input($_POST['billing_country_adress_book']);
        $billing_query = xtc_db_query("select address_book_id,
                                              entry_firstname as firstname,
                                              entry_lastname as lastname,
                                              entry_company as company,
                                              entry_street_address as street_address,
                                              entry_suburb as suburb,
                                              entry_city as city,
                                              entry_postcode as postcode,
                                              entry_state as state,
                                              entry_zone_id as zone_id,
                                              entry_country_id as country_id
                                       from "
    .TABLE_ADDRESS_BOOK."
                                        where address_book_id = '"
    .(int) $billing_country_adress_book."'");
        $billing = xtc_db_fetch_array($billing_query);
        $billing_data_array = array ('billing_company' => $billing['company'],
                                 'billing_name' => $billing['firstname'] . ' ' . $billing['lastname'],
                                 'billing_street_address' => $billing['street_address'],
                                 'billing_city' => $billing['city'],
                                 'billing_postcode' => $billing['postcode'],
                                 'billing_country' => xtc_get_country_name($billing['country_id']));
        $sql_data_array = xtc_array_merge($sql_data_array, $billing_data_array);
      }

    /admin/orders_edit_address.php

    suche das hier:

    Code: PHP  [Auswählen]
    <!-- Adressbearbeitung Anfang //-->
    <?php

    danach das hier einfügen:

    Code: PHP  [Auswählen]
      $addresses_array = array ();
      $addresses_array[] = array('id' => 0, 'text' => '-- Adresse aus Adressbuch auswählen --');
      $addresses_query = xtc_db_query("select address_book_id,
                                              entry_firstname as firstname,
                                              entry_lastname as lastname,
                                              entry_company as company,
                                              entry_street_address as street_address,
                                              entry_suburb as suburb,
                                              entry_city as city,
                                              entry_postcode as postcode,
                                              entry_state as state,
                                              entry_zone_id as zone_id,
                                              entry_country_id as country_id
                                       from "
    .TABLE_ADDRESS_BOOK."
                                        where customers_id = '"
    .(int) $order->customer['ID']."'
                                     order by address_book_id"
    );
      while ($addresses = xtc_db_fetch_array($addresses_query)) {
        $addresses_array[] = array('id' => $addresses['address_book_id'], 'text' => $addresses['firstname'] . ' ' . $addresses['lastname'] . ', ' . $addresses['street_address']. ', ' . $addresses['postcode']. ' ' . $addresses['city']);
      }

    suche das hier:

    Code: PHP  [Auswählen]
              <td class="dataTableContent" align="left">
                <?php echo xtc_draw_input_field('billing_country', $order->billing['country']);?>
              </td>
            </tr>

    danach das hier einfügen:

    Code: PHP  [Auswählen]
            <tr class="dataTableRow">
              <td class="dataTableContent" align="left" colspan="2">
                 
              </td>
              <td class="dataTableContent" align="left">
                <?php echo xtc_draw_pull_down_menu('delivery_country_adress_book', $addresses_array);?>
              </td>
              <td class="dataTableContent" align="left">
                <?php echo xtc_draw_pull_down_menu('billing_country_adress_book', $addresses_array);?>
              </td>
            </tr>

    die hier angehängte Datei kopieren nach /admin/

    hier noch ein Screenshot dazu:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

      [ Für Gäste sind keine Dateianhänge sichtbar ]

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Viel Spass damit.

    GTB

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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Super Sache! :thx:

    Kann so eigentlich direkt in den Trunk übernommen werden! :pro:

    Grüße

    Torsten

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Hinzufügen fehlt, so wie ich es auf den ersten Blick erkenne. ;)

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Das habe ich auch nicht geschrieben... aber ich kann dich beruhigen. Es ist noch einiges geplant.

    - das Einfügen von neuen Adressen
    - Zugriff auf das Adressbuch beim Ändern einer Bestellung
    - Änderungen in einer Bestellungen im Adressbuch übernehmen

    Gruß Gerhard

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Dann setze ich das mal auf die Roadmap. :D

    Grüße

    Torsten

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    Kommen so wenig Kunden mit dem Adressbuch klar? Ich habe da noch kein negatives Feedback erhalten. Aber wenn, dann ist das so in der Form sicher sinnvoll.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Hallo Nachbar,

    es geht ja nicht um die Kunden, sondern damit kann der Admin die Adressbücher einsehen und andern.

    Es kommt nicht selten vor, dass z.B. die Hausnummer vergessen wird, dann fragt man nach und bei der nächsten Bestellung fehlt diese wieder.

    Wenn nun aber der Admin die Änderung direkt im Adressbuch macht, stimmen auch die nächsten Bestellungen.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Dann von mir noch ein großes :thx:

    Gruß

    h-h-h

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    So, hier jetzt das Update mit den angekündigten Funktionen.

    Jetzt ist es auch möglich eine neue Adresse anzulegen.
    Ausserdem kann bei den Bestellungen direkt auf die Adressen zugegriffen werden und somit ganz einfach Rechnungs und Versandadresse ändern.

    Gruss Gerhard

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Hast du die alte Datei in Beitrag 1 absichtlich noch drin gelassen? :-?

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Nein, ist nur was dazwischen gekommen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Alles klar, Danke für das Update! :thx:

    Grüße

    Torsten

    Olinew

    • Gast
    Hallo @all!

    Ich habe folgende Auffälligkeit festgestellt:
    Rufe ich die Übersichtsseite "/admin/customers.php" auf, werden die Kundengruppen des entsprechenden Kunden nicht korrekt in der Übersicht angezeigt. Bei jedem Kunden wird nur der Status "Neuer Kunde" angezeigt obgleich die Kunden korrekt in ihren jeweiligen Kundengruppen eingeteilt sind.
    Nutze ich das Dropdown um die Kundengruppen zu separieren Bsp.:

    Code: PHP  [Auswählen]
    /admin/customers.php?status=0&XTCsid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    funktioniert es.

    Trotzdem aber mal ein fettes DANKE, das Modul spart einem viel Nerven!

    Gruß
    Oli

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Hattest du das nicht schon hier gemeldet? -> Keine Ausgabe der Kundengruppe in /admin/customers.php

    Grüße

    Torsten

    Olinew

    • Gast
    ... ja Torsten (Hallo!), das Problem dort bezog sich allerdings bei einem Aufruf der URL im Format

    Code: PHP  [Auswählen]
    /admin/customers.php?page=1&cID=5&action=edit
    Jetzt nach der Aktualisierung der Datei "customers.php" von GTB mit dem o.g. Modul geht es darum, dass ich beim Aufruf der URL

    Code: PHP  [Auswählen]
    /admin/customers.php
    bei dem ja bekanntlich die Kunden untereinander gelistet werden, die Ausgabe in der Tabellenspalte Kundengruppe nicht korrekt ist.

    Verständlich ausgedrückt?

    Grüße!
    Oli

    2 Antworten
    2592 Aufrufe
    03. Mai 2011, 09:43:42 von GTB
    2 Antworten
    3733 Aufrufe
    14. Juni 2011, 10:23:11 von djslybo
    5 Antworten
    4678 Aufrufe
    20. Oktober 2011, 21:29:47 von LogicMannn
               
    anything