Managed Server
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: Neues Eingabefeld für Handynummer bei Accountregistrierung hinzufügen

    syberstef

    • Neu im Forum
    • Beiträge: 16
    Hallo,

    ich habe folgendes Problem.

    Ich möchte bei der "Kundenregistrierung" z.B. noch ein Feld einfügen z.B. Handynummer und dieses als Pflichtfeld machen.
    Wie mache ich das? Bisher hatte ich einen Shop, der zwar sonst grotten schlecht war wie ich finde, jedoch konnte man da bequem im Backend Felder hinzufügen per Klick, diese beschriften und auch sagen ob Pflichtfeld oder nicht, man konnte diese dann auch bei Bedarf einfach deaktivieren, wenn man diese doch nicht haben will.

    Dies ist hier nicht möglich, oder? Versuche mich gerade in den Shop einzuarbeiten.

    Bitte um Hilfe! :-)

    Aber ansonsten erstmal first Class Shop! :-)

    [EDIT Tomcraft 26.11.2010: Hier geht es direkt zur Anleitung von MAx_Dungeon.]

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

    web4design

    • Experte
    • Beiträge: 1.122
    Hoi,

    das machst du in der create_account.php (in der root). Schau dir einfach mal die anderen Felder an und gucke wie du es umsetzen könntest. Du solltest nicht vergessen, noch ein DB Feld anzulegen (für die Nummer).

    Wenn du erste Ansätze hast, kann man ja weiter schauen. ;-)

    Ein Hoch auf die Eigeninitiative, hehe.

    Gruß

    syberstef

    • Neu im Forum
    • Beiträge: 16
    Danke für den Tipp! Also ich hab's soweit, wills nur nicht testen, bevor ich mir die Datenbank abschieße... Hab's mal hoch geladen. Vielleicht kann das mal jemand kurz checken?

    Hab's wie folgt gelöste! Einfach als Beispiel das Telefon-Feld genommen und in der create_account.php überall dort verdoppelt wo es hin muss. Dann gegen mobilephone ersetzt!

    Jetzt muss ich nur noch die Fehlermeldung in der Language-Datei anlegen vermute ich mal und in der Datenbank das passende Feld.

    Nur wo bitte zieht sich das Backend die Länge der Felder her? Muss ich noch irgendwo was ändern, damit ich nachher im Bankend z.B. sagen kann das das Feld mindestens 5 Zeichen haben soll z.B.?
    Oder holt er sich das alles komplett aus der create_account.php?

    Bitte um Hilfe, bevor ich meinen Shop lahmlege!

    syberstef

    • Neu im Forum
    • Beiträge: 16
    Kann mir hier denn keiner helfen?
    Hier gibt's doch sicher jemand mit Erfahrung??

    Bekomme das echt nicht hin! :-(

    syberstef

    • Neu im Forum
    • Beiträge: 16
    Gibt es keinen, der mal helfen kann!?

    Thomas

    • Fördermitglied
    • Beiträge: 1.587
    Huhu,

    immer mit der Ruhe, nicht jeder kann auf Arbeit nebenher surfen bzw. findet die Zeit.

    Du solltest einen zweiten Shop aufsetzen und es selbst testen, keiner kann deine Baustellen immer bei sich ausprobieren, denn das wird noch oft der Fall sein. Oder du machst einfach ein backup der original datei, schiebst die neue rein, schaust was passiert und wenn es in die Hose geht, schiebst das orignal einfach wieder nach.

    zudem muss man ja aus Fehlern lernen  :glaskugel: so wie jeder hier.
    Grüße

    ds170477

    • Fördermitglied
    • Beiträge: 1.522
    • Geschlecht:
    Schau mal bei Untermenü "Installation". Da gibt es eine Anleitung für Xampp. So kannst du lokal auf deinen Rechner dein Shop installieren und beliebig alles testen.

    Gruss

    Daniel

    MAx_Dungeon

    • Fördermitglied
    • Beiträge: 89
    • Geschlecht:
    Schau mal hier, vielleicht hilft das....

    Zitat
    Anleitung zur Erstellung eines Extrafeldes bei den Kunden Daten.

    betroffene Dateien:
    shop/create_account.php
    shop/account_edit.php
    shop/admin/customers.php
    shop/admin/create_account.php
    shop/lang/german/german.php
    shop/lang/german/lang_german.conf
    shop/lang/german/admin/german.php
    shop/templates/deintemplate/module/create_account.html
    shop/templates/deintemplate/module/account_edit.html

    ######################################################
    1. SQL Befehl per PhPMyAdmin ausführen:

    Code: SQL  [Auswählen]
    ALTER TABLE  ADD  VARCHAR( 32 ) DEFAULT NULL AFTER  ;

    Die Länge des Feldes ist hier beschränkt auf 32 Zeichen VARCHAR( 32 )

    ######################################################
    2. Dateien ändern

    ######################################################
    Datei:
    shop\admin\create_account.php

    suche ca. Zeile 46:

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

    füge danach ein:

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

    suche ca. Zeile 271:

    Code: PHP  [Auswählen]
          $sql_data_array = array ('customers_status' => $customers_status_c, 'customers_cid' => $customers_cid, 'customers_vat_id' => $customers_vat_id, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_firstname' => $customers_firstname, 'customers_lastname' => $customers_lastname, 'customers_email_address' => $customers_email_address, 'customers_telephone' => $customers_telephone, 'customers_fax' => $customers_fax, 'payment_unallowed' => $payment_unallowed, 'shipping_unallowed' => $shipping_unallowed, 'customers_password' => xtc_encrypt_password($customers_password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');

    ändern zu:

    Code: PHP  [Auswählen]
          $sql_data_array = array ('customers_status' => $customers_status_c, 'customers_cid' => $customers_cid, 'customers_vat_id' => $customers_vat_id, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_firstname' => $customers_firstname, 'customers_lastname' => $customers_lastname, 'customers_email_address' => $customers_email_address, 'customers_telephone' => $customers_telephone, 'customers_fax' => $customers_fax, 'customers_neu' => $customers_neu, 'payment_unallowed' => $payment_unallowed, 'shipping_unallowed' => $shipping_unallowed, 'customers_password' => xtc_encrypt_password($customers_password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');

    suche ca. Zeile 693:

    Code: PHP  [Auswählen]
              <tr>
                <td class="main"><?php echo ENTRY_FAX_NUMBER; ?></td>
                <td class="main"><?php echo xtc_draw_input_field('customers_fax'); ?></td>
              </tr>

    danach einfügen:

    Code: PHP  [Auswählen]
              <tr>
                <td class="main"><?php echo ENTRY_NEU_NUMBER; ?></td>
                <td class="main"><?php echo xtc_draw_input_field('customers_neu'); ?></td>
              </tr>

    ######################################################
    Datei:
    shop\admin\customers.php

    suche ca. Zeile 118:

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

    danach einfügen:

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

    suche ca. Zeile 280:

    Code: PHP  [Auswählen]
                $sql_data_array = array ('customers_firstname' => $customers_firstname, 'customers_cid' => $customers_cid, 'customers_vat_id' => $customers_vat_id, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_lastname' => $customers_lastname, 'customers_email_address' => $customers_email_address, 'customers_telephone' => $customers_telephone, 'customers_fax' => $customers_fax, 'payment_unallowed' => $payment_unallowed, 'shipping_unallowed' => $shipping_unallowed, 'customers_newsletter' => $customers_newsletter,'customers_last_modified' => 'now()');

    ändern zu:

    Code: PHP  [Auswählen]
                $sql_data_array = array ('customers_firstname' => $customers_firstname, 'customers_cid' => $customers_cid, 'customers_vat_id' => $customers_vat_id, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_lastname' => $customers_lastname, 'customers_email_address' => $customers_email_address, 'customers_telephone' => $customers_telephone, 'customers_fax' => $customers_fax, 'customers_neu' => $customers_neu, 'payment_unallowed' => $payment_unallowed, 'shipping_unallowed' => $shipping_unallowed, 'customers_newsletter' => $customers_newsletter,'customers_last_modified' => 'now()');

    suche ca. Zeile 353:

    Code: PHP  [Auswählen]
             $customers_query = xtc_db_query("select c.customers_id,c.customers_cid, c.customers_gender, c.customers_firstname, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_newsletter, c.customers_default_address_id from ".TABLE_CUSTOMERS." c left join ".TABLE_ADDRESS_BOOK." a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '".$_GET['cID']."'");

    ändern zu:

    Code: PHP  [Auswählen]
             $customers_query = xtc_db_query("select c.customers_id,c.customers_cid, c.customers_gender, c.customers_firstname, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_neu, c.customers_newsletter, c.customers_default_address_id from ".TABLE_CUSTOMERS." c left join ".TABLE_ADDRESS_BOOK." a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '".$_GET['cID']."'");

    suche ca. Zeile 488:

    Code: PHP  [Auswählen]
       $customers_query = xtc_db_query("select c.payment_unallowed, c.shipping_unallowed, c.customers_gender, c.customers_vat_id, c.customers_status, c.member_flag, c.customers_firstname,c.customers_cid, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_newsletter, c.customers_default_address_id from ".TABLE_CUSTOMERS." c left join ".TABLE_ADDRESS_BOOK." a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '".$_GET['cID']."'");

    ändern zu:

    Code: PHP  [Auswählen]
       $customers_query = xtc_db_query("select c.payment_unallowed, c.shipping_unallowed, c.customers_gender, c.customers_vat_id, c.customers_status, c.member_flag, c.customers_firstname,c.customers_cid, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_neu, c.customers_newsletter, c.customers_default_address_id from ".TABLE_CUSTOMERS." c left join ".TABLE_ADDRESS_BOOK." a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '".$_GET['cID']."'");

    suche ca. Zeile 836:

    Code: PHP  [Auswählen]
          echo xtc_draw_input_field('customers_fax', $cInfo->customers_fax, 'maxlength="32"');
       }
    ?></td>
              </tr>

    danach einfügen:

    Code: PHP  [Auswählen]
              <tr>
                <td class="main"><?php echo ENTRY_NEU_NUMBER; ?></td>
                <td class="main"><?php

       if ($processed == true) {
          echo $cInfo->customers_neu.xtc_draw_hidden_field('customers_neu');
       } else {
          echo xtc_draw_input_field('customers_neu', $cInfo->customers_neu, 'maxlength="32"');
       }
    ?></td>
              </tr>

    ######################################################
    Datei:
    shop\lang\german\admin\german.php

    suche ca. Zeile 241:

    Code: PHP  [Auswählen]
    define('ENTRY_FAX_NUMBER', 'Telefaxnummer:');

    danach einfügen:

    Code: PHP  [Auswählen]
    define('ENTRY_NEU_NUMBER', 'Eingabe:');

    ######################################################
    Datei:
    shop\lang\german\german.php

    suche ca.Zeile 128:

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

    danach einfügen:

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

    ######################################################
    Datei:
    shop\lang\german\lang_german.conf

    suche ca. Zeile 183:

    Code: PHP  [Auswählen]
    text_fax = 'Telefaxnummer:'

    danach einfügen:

    Code: PHP  [Auswählen]
    text_neu = 'Eingabe:'

    suche ca. Zeile 244:

    Code: PHP  [Auswählen]
    text_fax = 'Telefaxnummer:'

    danach einfügen:

    Code: PHP  [Auswählen]
    text_neu = 'Eingabe:'

    ######################################################
    Datei:
    shop\templates\xtc4\module\account_edit.html

    (hier könnt ihr es an eigener stelle einbinden, dies ist nur ein Vorschlag!)

    suche ca. Zeile 66:

    Code: PHP  [Auswählen]
      <tr>
        <td class="main">{#text_fax#}</td>
       <td class="inputRequirement">{$INPUT_FAX}</td>
      </tr>

    danach einfügen:

    Code: PHP  [Auswählen]
      <tr>
        <td class="main">{#text_neu#}</td>
       <td class="inputRequirement">{$INPUT_NEU}</td>
      </tr>

    ######################################################
    Datei:
    shop\templates\xtc4\module\create_account.html

    (hier könnt ihr es an eigener stelle einbinden, dies ist nur ein Vorschlag!)

    suche ca. Zeile 134:

    Code: PHP  [Auswählen]
      <tr>
        <td class="main">{#text_fax#}</td>
       <td class="inputRequirement">{$INPUT_FAX}</td>
      </tr>

    danach einfügen:

    Code: PHP  [Auswählen]
      <tr>
        <td class="main">{#text_neu#}</td>
       <td class="inputRequirement">{$INPUT_NEU}</td>
      </tr>

    ######################################################
    Datei:
    shop\account_edit.php

    suche ca. Zeile 48:

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

    danach einfügen:

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

    suche ca. Zeile 113:

    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_last_modified' => 'now()');

    ändern zu:

    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_neu' => $neu,'customers_last_modified' => 'now()');

    suche ca. Zeile 129:

    Code: PHP  [Auswählen]
       $account_query = xtc_db_query("select customers_gender, customers_cid, customers_vat_id, customers_vat_id_status, customers_firstname, customers_lastname, customers_dob, customers_email_address, customers_telephone, customers_fax from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'");

    ändern zu:

    Code: PHP  [Auswählen]
       $account_query = xtc_db_query("select customers_gender, customers_cid, customers_vat_id, customers_vat_id_status, customers_firstname, customers_lastname, customers_dob, customers_email_address, customers_telephone, customers_fax, customers_neu from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'");

    suche ca. Zeile 168:

    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ' '. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_FAX_NUMBER_TEXT.'</span>' : '')), $account['customers_fax']));

    danach einfügen:

    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_NEU', xtc_draw_input_fieldNote(array ('name' => 'neu', 'text' => ' '. (xtc_not_null(ENTRY_NEU_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_NEU_NUMBER_TEXT.'</span>' : '')), $account['customers_neu']));

    ######################################################
    Datei:
    shop\create_account.php

    suche ca. Zeile 75:

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

    danach einfügen:

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

    suche ca. Zeile 219:

    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()');

    ändern zu:

    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_neu' => $neu, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');

    suche ca. Zeile 446:

    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ' '. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_FAX_NUMBER_TEXT.'</span>' : ''))));

    danach einfügen:

    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_NEU', xtc_draw_input_fieldNote(array ('name' => 'neu', 'text' => ' '. (xtc_not_null(ENTRY_NEU_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_NEU_NUMBER_TEXT.'</span>' : ''))));

    ######################################################

    So, das war es.
    (Falls bei Gastkonten dies auch benötigt wird muß noch die create_account_guest bearbeitet werden.)

    Eingefügt aus dem Self-Commerce Forum: Extrafeld kundendaten

    Gruß, der Maxe

    Kalle

    • Fördermitglied
    • Beiträge: 10
    • Geschlecht:
    Vom Feinsten!
    Diese Anleitung hat fast blind funktioniert. Danke dafür.
    Wie kann ich jetzt das neue Feld zum Pflichtfeld machen? Ich hatte alles vom Feld customers_tel kopiert, aber das war dann so viel, dass man gar nicht weiter kam, auch nicht, wenn das neue Feld gefüllt war.
    Oder gibt es dafür in unserem Forum eine Anleitung, die ich nur nicht finde?
    Danke
    Kalle

    Van

    • Mitglied
    • Beiträge: 124
    • Geschlecht:
    Habe ein Problem zu dieser Anleitung.
    Ich weiß nicht mehr zur welcher Version sie mal geschrieben wurde...
    Denn bei der SP1c gibt es ja Veränderungen, daher passen auch nicht mehr die Zeilen.

    Gibt es sonst noch eine Anleitung die Aktuell ist? Bin noch ein neuling in sachen PHP.

    Danke im Voraus. :)

    gero01

    • Mitglied
    • Beiträge: 239
    Hallo Van.

    Geduld, wird angepasst

    Gruß Gerd

    Van

    • Mitglied
    • Beiträge: 124
    • Geschlecht:
    Hi Gerd,

    wow danke für die schnelle Antwort.

    :)

    gero01

    • Mitglied
    • Beiträge: 239
    Hallo Van.

    im Anhang die leicht korrigierte Anleitung von MAx_Dungeon  für modified eCommerce Shopsoftware SP1C !

    viel Erfolg beim Einbau
    Gerd

    Van

    • Mitglied
    • Beiträge: 124
    • Geschlecht:
    Danke für deine mühen. Werde es später mal ausprobieren.

    Lieben Gruß
    Van :)

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    edit:Post erledigt :)
               
    anything