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: ANLEITUNG: Automatische Kundennummer bei manueller Anlage im Adminbereich

    rogerb

    • Neu im Forum
    • Beiträge: 5
    Ich habe ein dickes Problem.

    Habe in meinem Shop 6 Demokunden angelegt...  und dann erst bemerkt das ja von Haus aus keine Kundennummer vergeben werden - ok, das kann man ja anpassen.

    Hab Variante 1 aus dem Handbuch (9.9) gewählt.  Hab danach einen weiteren Kunden ganz normal über die Frontend Seite angelegt - und siehe da - im Admin -> Kundenansicht  ist wieder keine Kundennummer zu sehen..  Warum?

    Ich hab in einem anderen Thread gelesen, dass es vielleicht daran liegen kann das ich schon Kunden (also ein Wert von 1-6) angelegt habe.. und es dadurch nicht weiter gezählt wird (ab 1001 aufwärts).

    Code: PHP  [Auswählen]
    /*Automatisch Kundennummer fortlaufend erzeugen
                    Erste Kundennummer festlegen */

                    $start_cid = 1001;
                    /* Letzte Kundennummer auslesen */
                    $cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
                    $cid = xtc_db_fetch_array($cid_query);
                    /* Neue Kundennummer generieren */
                    if($cid['maxnr']){
                    $start_cid = $cid['maxnr']+1;
                    }
                    $sql_data_array['customers_cid'] = $start_cid;
                    /* Automatisch Kundennummer fortlaufend erzeugen*/
    Hab dies in der "create_account.php" / "create_guest_account.php" und der "admin/create_account.php" an besagter Stelle eingestellt.

    Verwende die Version 1.05.

    Übrigens, mir aufgefallen ist (und wo die Forensuche jetzt nicht wirklich was her gab) - kann es sein das es im Ordner Admin die "create_guest_account.php" gar nicht gibt ? Ich finde sich einfach nicht. (Wollte ursprünglich Variante 2 der automatischen Kundennummernvergabe ausprobieren).

    Wäre spitze wenn ihr mir 'nen entscheidenden Hinweis geben könnt.

    Mucias Grazias im Voraus!
    Roger

    [EDIT GTB 24.05.2011: Hier geht es direkt zur Anleitung.]



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

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Hi Roger

    Code: PHP  [Auswählen]
            if($cid['maxnr']>= $start_cid){
    statt

    Code: PHP  [Auswählen]
            if($cid['maxnr']){
    Gruß

    h-h-h

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Hi,

    ist das dann also noch ein Fehler im Anwenderhandbuch?

    Schöne Grüße,
    Jan

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Hab's eben im Handbuch gefixt. :)

    rogerb

    • Neu im Forum
    • Beiträge: 5
    Danke für die schnelle Antwort - hab das jetzt abgeändert und gleich mal neuen Kunden angelegt - jedoch bleibt das Feld für die Kundennumemr weiterhin ungefüllt.

    Verwendet hab ich nun in allen 3 Dateien folgenden Codesnippet:

    Code: PHP  [Auswählen]
            /*Automatisch Kundennummer fortlaufend erzeugen
                    Erste Kundennummer festlegen */

                    $start_cid = 1001;
                    /* Letzte Kundennummer auslesen */
                    $cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
                    $cid = xtc_db_fetch_array($cid_query);
                    /* Neue Kundennummer generieren */
                    if($cid['maxnr']>= $start_cid){
                    $start_cid = $cid['maxnr']+1;
                    }
                    $sql_data_array['customers_cid'] = $start_cid;
                    /* Automatisch Kundennummer fortlaufend erzeugen*/
    Kann grad leide keinen Screenshot machen (wobei vlt. auch nicht unbedingt nötig - da ja nichts grafisches..eher funktionelles).  Kann mir jemand nochmals weiter helfen .. ?  

    Ich hab ältere User bereits aus der DB gelöscht - also bin ich da schon bei customer id  9 oder 10 ...  ist das ein Problem ?

    cumonvip

    • Neu im Forum
    • Beiträge: 31
    Hallo,
    Hab genau dasseble Problem.  Muss man ansonsten noch etwas zusätzliches ausgeben lassen etc?  Weil in der Kundenansicht im Admin bleibt das gelbe Kundennummern Feld weiter leer.

    PS: Habe jetzt die verbesserte Version oben genommen und bin wie im Handbuch verfahren - über Hilfe an der Stelle würde ich mich riesig freuen.

    lahari

    • Neu im Forum
    • Beiträge: 25
    Ich habe das gleiche "Problem". Die Kundennummer wird nicht automatisch trotz kompletter Codeeingabe in den entsprechenden Dateien vergeben. Sobald ich im Backend unter "Kunden" -> "Neuer Kunde" gehe erscheint keine automatisch generierte Kundennummer. Gibt es bereits eine Lösung bzw. ein Vorschlag wie dies behoben werden könnte?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.215
    • Geschlecht:
    Die Lösung ist nicht für die manuelle Kundenanlage im Adminbereich gedacht, sondern lediglich, wenn sich ein Kunde über den Shop selber anmeldet.

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.227
    • Geschlecht:
    Man kann das aber auch für den Admin erweitern.

    Hier mal meine Version, die ich schon lange im Einsatz habe:

    /create_account.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_write_user_info.inc.php');

    füge danach das hier ein:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_generate_customers_cid.inc.php');

    suche das hier:

    Code: PHP  [Auswählen]
                    $sql_data_array = array (
                    'customers_vat_id' => $vat,
                    'customers_vat_id_status' => $customers_vat_id_status,
                    'customers_status' => $customers_status,
                    'customers_firstname' => $firstname,
                    'customers_lastname' => $lastname,
                    'customers_email_address' => $email_address,
                    'customers_telephone' => $telephone,
                    'customers_fax' => $fax,
                    'customers_newsletter' => $newsletter,
                    'customers_password' => xtc_encrypt_password($password),
                    'customers_date_added' => 'now()',
                    'customers_last_modified' => 'now()
                    );

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
                    $sql_data_array = array (
                    'customers_vat_id' => $vat,
                    'customers_vat_id_status' => $customers_vat_id_status,
                    'customers_status' => $customers_status,
                    'customers_firstname' => $firstname,
                    'customers_lastname' => $lastname,
                    'customers_email_address' => $email_address,
                    'customers_telephone' => $telephone,
                    'customers_fax' => $fax,
                    'customers_newsletter' => $newsletter,
                    'customers_password' => xtc_encrypt_password($password),
                    'customers_date_added' => 'now()',
                    'customers_last_modified' => 'now()',
                    'customers_cid' => xtc_generate_customers_cid('xtM', '-', '1000')
                    );

    /admin/create_account.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_validate_vatid_status.inc.php');

    füge danach das hier ein:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_generate_customers_cid.inc.php');

    suche das hier:

    Code: PHP  [Auswählen]
    $customers_cid = xtc_db_prepare_input($_POST['csID']);

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
    //$customers_cid = xtc_db_prepare_input($_POST['csID']);

    suche das hier:

    Code: PHP  [Auswählen]
    $customers_status_c = xtc_db_prepare_input($_POST['status']);

    füge danach das hier ein:

    Code: PHP  [Auswählen]
            if ($customers_status_c != 1) {
              $customers_cid = xtc_generate_customers_cid('xtM', '-', '1000');
            }

    suche das hier:

    Code: PHP  [Auswählen]
                        <tr>
                          <td class="main"><?php echo ENTRY_CID; ?></td>
                          <td class="main"><?php echo xtc_draw_input_field('csID', $customers_cid, 'maxlength="32"'); ?></td>
                        </tr>

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
                        <tr>
                          <td class="main"><?php echo ENTRY_CID; ?></td>
                          <td class="main"><?php echo xtc_generate_customers_cid('xtM', '-', '1000') .' <span style="color:red;">Vorläufige Kundennummer</span>'; ?></td>
                        </tr>

    die Datei "xtc_generate_customers_cid.inc.php" hier im Anhang in das Verzeichnis "/inc/" kopieren.

    Damit werden auch bei manuelle Kundenanlage Kundennummern erzeugt, wenn das angelegte Konto KEIN Gastkonto ist.

    Zur Funktionsweise der Funktion xtc_generate_customers_cid():

    Aufruf: xtc_generate_customers_cid($prefix, $space, $first_customers_cid)

    $prefix : was der Kundennummer vorangestellt wird
    $space  : Trennzeichen zwischen Prefix und Kundennummer
    $first_customers_cid : erste Kundennummer

    Beispiel:

    Code: PHP  [Auswählen]
    xtc_generate_customers_cid('xtM', '-', '1000')

    erzeugt diese Kundennummer:  xtM-1000 (wenn noch keine Kundennummer vergeben wurde)

    Viel Spass damit.

    Gruss Gerhard

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.227
    • Geschlecht:
    ich habe die Anleitung in Beitrag 1 verlinkt und das Thema umbenannt.

    Gruss Gerhard

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Hi Gerhard,

    das ist bisher wohl die sauberste Lösung für dieses Thema.
    Ich werde die Anleitung dementsprechend ändern! :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.215
    • Geschlecht:
    Ja cool! Danke für die Lösung, Gerhard! Und Danke DokuMan fürdie Übernahme in das Handbuch! :B

    Grüße

    Torsten

    lahari

    • Neu im Forum
    • Beiträge: 25
    Perfekt und vielen Dank...

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    Funktioniert bestens. ^^

    claudia

    • Fördermitglied
    • Beiträge: 219
    @GTB: bei mir gibt es in der "/admin/create_account.php" kein

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_validate_vatid_status.inc.php');
    Ich habe die Zeile

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_generate_customers_cid.inc.php');
    hinter

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_get_geo_zone_code.inc.php');
    gesetzt.

    Damit funktioniert es prima. Danke für die Funktion!

    4 Antworten
    4637 Aufrufe
    24. Oktober 2011, 10:45:08 von mweber
    13 Antworten
    7087 Aufrufe
    11. Juni 2012, 14:34:40 von Buggyboy
    9 Antworten
    4661 Aufrufe
    08. August 2012, 11:21:36 von Gradler