Jump to content
xt:Commerce Community Forum

Firmenname und Ust-ID Pflichtfeld bei Anmeldung


ronnyberger

Recommended Posts

Mahlzeit,

was machst du, wenn der Kunde aus einem Drittland kommt und keine UST-ID hat? Was machst du weiter, wenn der Kunde ein Privatkunde ist und keine Firma hat?

Hatte bei unserem Shop das gleiche Problem....

Wir verkaufen sowohl an gewerbliche als auch an "normale" Endkunden. Habe deshalb folgendes gemacht.

Habe mir deshalb eine Funktion schreiben müssen (hatte auch nichts im Forum gefunden) die vergleicht, ob ein Firmenname eingegeben wurde. Danach wird geprüft, ob eine UST-ID eingegeben worden ist. Wurde keine eingegeben wird geprüft, ob für das jeweilige Land überhaupt eine Nummer nötig ist (oder ob es ein Drittland ist).

Je nach Ergebnis wird ein alert Fenster geöffnet...

Beispiel 1: Firmenname wird eingegeben, Kundenland = Frankreich, UST ID = leer dann Fehler

Beispiel 2: Endkunde ohne Firma, Kundenland = Italien, kein Fehler

Beispiel 3: Firmenname wird eingegeben, Kundenland = Belgien, UST-ID wird auch eingegeben, kein Fehler.

Die Funktion ist halt selfmade, PHP kann ich, aber JAVA ist immer noch absolutes Neuland für mich, aber die Funktion funktioniert bis jetzt ohne Probleme.

zu ändernde Datei: includes/form_check.js.php

suche nach:


function check_form(form_name){[/PHP]

davor einfügen:

[PHP]function check_vat(field_name_1, field_name_2, field_name_3, message) {
if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
var field_value_company = form.elements[field_name_1].value;
var field_value_vat = form.elements[field_name_2].value;
var field_value_country = form.elements[field_name_3].value;
if (field_value_company != '' && (field_value_vat == '') && (field_value_country == 21 || field_value_country == 33|| field_value_country == 57 || field_value_country == 81 || field_value_country == 67 || field_value_country == 72 || field_value_country == 73 || field_value_country == 84 || field_value_country == 103 || field_value_country == 105 || field_value_country == 117 || field_value_country == 123 || field_value_country == 124 || field_value_country == 132 || field_value_country == 150 || field_value_country == 14 || field_value_country == 170 || field_value_country == 171 || field_value_country == 175 || field_value_country == 203 || field_value_country == 203 || field_value_country == 190 || field_value_country == 189 || field_value_country == 195 || field_value_country == 56 || field_value_country == 97 || field_value_country == 222 || field_value_country == 55)) {
error_message = error_message +"* " + message + "\n";
error = true;
}
}
}

suche nach:

check_input("email_address", <?php echo ENTRY_EMAIL_ADDRESS_MIN_LENGTH; ?>, "<?php echo xtc_js_lang(ENTRY_EMAIL_ADDRESS_ERROR); ?>");[/PHP]

davor einfügen:

[PHP]check_vat("company","vat","country", "<?php echo xtc_js_lang(ENTRY_VAT_ERROR_FORM); ?>");[/PHP]

zu ändernde Datei: lang/german/german.php:

suche nach

[PHP]define('ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING', 'Ihre Passwörter stimmen nicht überein.');[/PHP]

füge danach ein:

[PHP]
define('ENTRY_VAT_ERROR_FORM', 'Bitte geben Sie eine VAT / UST-ID Nr. ein');[/PHP]

Es ist mit Sicherheit nicht die eleganteste Lösung da ich mir alle ID-Nummern der Länder separat ins Script geschrieben habe, aber es funktioniert halt...

Ich hoffe, dass dies auch vielleicht anderen hilft, die das gleiche Problem hatten, wie ich...

Bei Fragen fragen

Olli

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...