Hallo, mein neuer shop soll nur in ein paar bestimmte PLZ Gebiete liefern.
Nachdem ich das mit JS - erledigt hatte
if(plz!=12365 || plz !=12345 ) … alert…
wollte ich dies jetzt noch mit in die PHP- Funktion reinpacken wegen event abgschalteten JS. Habe die FKT in der oxuser.php wie folgt verändert, aber irgenwie passen paar Dinge noch nicht.
Ich möchte gerne in der Errorbox ne Meldung kommen lassen das nur bestimmte PLZ-Gebiete geliefert wird. aber irgendwie kann ich glaune ich nur die eine oder die andere Ausgabe mit $oEx->setMessage machen, bzw. es passiert garnichts.
protected function _checkRequiredFields( $aInvAddress, $aDelAddress )
{
// collecting info about required fields
$aMustFields = array( 'oxuser__oxfname',
'oxuser__oxlname',
'oxuser__oxstreetnr',
'oxuser__oxstreet',
'oxuser__oxzip',
'oxuser__oxcity' );
// config shoud override default fields
$aMustFillFields = $this->getConfig()->getConfigParam( 'aMustFillFields' );
if ( is_array( $aMustFillFields ) ) {
$aMustFields = $aMustFillFields;
}
// assuring data to check
$aInvAddress = is_array( $aInvAddress )?$aInvAddress:array();
$aDelAddress = is_array( $aDelAddress )?$aDelAddress:array();
// collecting fields
$aFields = array_merge( $aInvAddress, $aDelAddress );
// check delivery address ?
$blCheckDel = false;
if ( count( $aDelAddress ) ) {
$blCheckDel = true;
}
// checking
foreach ( $aMustFields as $sMustField ) {
// A. not nice, but we keep all fields info in one config array, and must support baskwards compat.
if ( !$blCheckDel && strpos( $sMustField, 'oxaddress__' ) === 0 ) {
continue;
}
// hier wird PLZ abgefragt
if ( $sMustField[4] == '12345') {
$oEx = oxNew( 'oxInputException' );
$oEx->setMessage('EXCEPTION_INPUT_NOTALLFIELDS_PLZ');
}
else {
$oEx = oxNew( 'oxInputException' );
$oEx->setMessage('EXCEPTION_INPUT_NOTALLFIELDS_PLZB');
}
/*
if ( isset( $aFields[$sMustField] ) && is_array( $aFields[$sMustField] ) ) {
$this->_checkRequiredArrayFields( $sMustField, $aFields[$sMustField] );
} elseif ( !isset( $aFields[$sMustField] ) || !trim( $aFields[$sMustField] ) ) {
$oEx = oxNew( 'oxInputException' );
$oEx->setMessage('EXCEPTION_INPUT_NOTALLFIELDS');
throw $oEx;
}
*/
}
}