cjung Posted September 17, 2012 Report Share Posted September 17, 2012 Hallo, ich habe seit einige Zeit immer ein paar Kunden, die es nicht schaffen das richtige Land in der Länderauswahl zu wählen. Standardgemäß ist "Deutschland" eingetragen. Ich hätte aber lieber sowas wie "Bitte Wählen..." dort stehen und einer Abfrage, ob das Feld auch gewählt wurde. Hab leider nichts sinnvolles im WWW gefunden und auch der Shop selber gibt dazu nichts her. Hat da jemand einen Tipp für mich? Egal ob nun einen "Hack" oder ein Plugin dafür. Danke C. Jung Link to comment Share on other sites More sharing options...
NilsK Posted September 17, 2012 Report Share Posted September 17, 2012 Hi, müßte doch eigentlich nur eine Einstellung wie bei der Eingabe der Adresse auch sein, also bestimmt irgendwo nur ein Häckchen setzen ("Pflichtangaben"). Vielleicht hilft das auf die Schnelle. Herzliche Grüße Nils Link to comment Share on other sites More sharing options...
cjung Posted September 17, 2012 Author Report Share Posted September 17, 2012 Naja es ist ein Pflichtfeld, aber es soll geändert werden. Also als Standard gewählt soll "Bitte Wählen" stehen und dann MUSS man sein Land (korrekt) auswählen damit die Adresse, die Mwst. uws. stimmten. Wer dann falsch wählt, da kann man nichts machen. Hab mir erstmal mit einem kleinen Hack geholfen, aber lieber wäre mir ein getestetes Plugin. Der Hack sieht so aus, dass ich beim erstellen der Länderliste ein Element vorab eintragen "Bitte Wählen" mit der value="XX" und diese dann mit einer neuen vergleichsfunktion überprüfe. Ich prüfe das Land-Input einfach auf != "XX". Hier die Änderungen der dafür benötigten Datein: Für die Prüfung des Feldes eine neue Funktion class.check_fields.php //HACK function _checkNotMatch($data, $data_match, $error_message){ global $xtPlugin, $info; ($plugin_code = $xtPlugin->PluginCode('class.customer_check.php:_checkNotMatch_top')) ? eval($plugin_code) : false; if(isset($plugin_return_value)) return $plugin_return_value; if ($data == $data_match) { $this->error = true; $info->_addInfo($error_message); } } //END HACK[/PHP] Für die Combobox der Länder (fast ganz am Anfang der Datei) class.countries.php Nach [PHP] $qry = "SELECT * FROM " . TABLE_COUNTRIES." c, ".TABLE_COUNTRIES_DESCRIPTION." cd WHERE c.countries_iso_code_2=cd.countries_iso_code_2 and cd.language_code='".$language->code."'".$sql_qry; $record = $db->Execute($qry);[/PHP] [PHP] //HACK $record->fields['id'] = 'XX'; $record->fields['text'] = TEXT_COUNTRY_SELECT; $data[$record->fields['countries_iso_code_2']] = $record->fields; ($plugin_code = $xtPlugin->PluginCode(__CLASS__.'_buildCountryList_data')) ? eval($plugin_code) : false; $record->MoveNext(); //END HACK [/PHP] und vor [PHP] if($record->RecordCount() > 0){[/PHP] Und für die Ausführung der Prüfnung auf das Land: class.customer.php [PHP] function _checkCustomerAddressData($data, $add_type = 'insert', $check_data=true){ global $db, $xtPlugin; $data['error'] = false; if($check_data == true){ if (_STORE_ACCOUNT_GENDER == 'true') $this->_checkGender($data['customers_gender']); $this->_checkLenght($data['customers_firstname'], _STORE_FIRST_NAME_MIN_LENGTH, ERROR_FIRST_NAME); $this->_checkLenght($data['customers_lastname'], _STORE_LAST_NAME_MIN_LENGTH, ERROR_LAST_NAME); $this->_checkLenght($data['customers_street_address'], _STORE_STREET_ADDRESS_MIN_LENGTH, ERROR_STREET_ADDRESS); $this->_checkLenght($data['customers_postcode'], _STORE_POSTCODE_MIN_LENGTH, ERROR_POST_CODE); $this->_checkLenght($data['customers_city'], _STORE_CITY_MIN_LENGTH, ERROR_CITY); //HACK $this->_checkNotMatch($data['customers_country_code'], 'XX', ERROR_COUNTRY_SELECT); //END HACK ($plugin_code = $xtPlugin->PluginCode('class.customer.php:_CustomerAddressData_check')) ? eval($plugin_code) : false; } if($this->error == true){ $data['error'] = true; return false; } }[/PHP] Evtl noch die Login.html anpassen, wenn man dort das Standard ausgewählt Land über das Standardland des Schops auswählen lässt Klappt auch bisher mit meinen Tests. Leider ist das dann wieder weg, wenn ich ein Update fahren sollte. Link to comment Share on other sites More sharing options...
max232 Posted October 9, 2012 Report Share Posted October 9, 2012 Hallo, ich habe seit einige Zeit immer ein paar Kunden, die es nicht schaffen das richtige Land in der Länderauswahl zu wählen. Standardgemäß ist "Deutschland" eingetragen. Ich hätte aber lieber sowas wie "Bitte Wählen..." dort stehen und einer Abfrage, ob das Feld auch gewählt wurde. Hab leider nichts sinnvolles im WWW gefunden und auch der Shop selber gibt dazu nichts her. Hat da jemand einen Tipp für mich? Egal ob nun einen "Hack" oder ein Plugin dafür. Danke C. Jung Hallo, ich habe dasselbe Problem daß Kunden das falsche Land bzw. einfach das standardmäßig eingestellte Land belassen und es dann zu falschen Versandkosten kommt. Mein Ansatz wäre gewesen das Land aus dem Browser auszulesen. Scheint aber nicht so einfach zu sein. Vielleicht hat jemand in der Community Erfahrung damit. Danke - Max Link to comment Share on other sites More sharing options...
ice-ess Posted November 14, 2012 Report Share Posted November 14, 2012 ich hätte hier auch gerne eine einfache und problemlose lösung, da es immer wieder zu problemen kommt, wenn kunden aus dem ausland bestellen und ihr land nicht korrekt auswählen. da standardmäßig DEUTSCHLAND ausgewählt ist, werden immer die versandkosten für deutschland berechnet. für nicht-EU länder wie die schweiz ist es noch dämlicher, da dann auch noch die steuer berechnet wird. hier ist dringend abhilfe geboten. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.