mein 2. problem:
ich bekomme die zahlungsart lastschriftverfahren nicht in der bestellabwicklung aktiviert.
- lastschrift an sich ist aktiviert
- in der kundengruppe ist lastschrift erlaubt
ich vermute das das problem hier liegt:
wenn ich versuche den parameter maximale bestellhöhe zu definieren lässt er nach aktualisierung das feld ohne wert leer! eingabeversuche waren z.b. "300" oder "300.00" oder "300,00"
kann es sein das der wert somit bei 0 liegt und dadruch die lastschrift "blockiert" wird?
[/quote]
~/shop/includes/modules/payment/banktransfer.php
in der Methode gibt es viele Gründe, warum das Modul deaktiviert werden könnte
// class methods
Code: Alles auswählen
function update_status() {
global $oOrder, $oCurrencies;
if ($_SESSION['shipping]['id] == 'selfpickup_selfpickup') {
$this->enabled = false;
}
$my_currency = $_SESSION['currency];
if (!in_array($my_currency, array('CHF', 'EUR', 'USD'))) {
$my_currency = 'EUR';
}
$nAmount = number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
if ($nAmount > (int)MODULE_PAYMENT_BANKTRANSFER_MAX_ORDER) {
$this->enabled = false;
}
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_BANKTRANSFER_ZONE > 0) ) {
$check_flag = false;
// Get database information
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
$zones_to_geo_zonestable = $oostable['zones_to_geo_zones];
$check_result = $dbconn->Execute("SELECT zone_id FROM $zones_to_geo_zonestable WHERE geo_zone_id = '" . MODULE_PAYMENT_BANKTRANSFER_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
while ($check = $check_result->fields) {
if ($check['zone_id] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id] == $oOrder->billing['zone_id]) {
$check_flag = true;
break;
}
// Move that ADOdb pointer!
$check_result->MoveNext();
}
// Close result set
$check_result->Close();
if ($check_flag == false) {
$this->enabled = false;
}
}
// disable the module if the order only contains virtual products
if ($this->enabled == true) {
if ($oOrder->content_type == 'virtual') {
$this->enabled = false;
}
}
}
b. Bestellwert
c. Zone
d. "virtual"
wenn es der Bestellwert sein sollte, kann man mit
Code: Alles auswählen
if ($nAmount > (int)MODULE_PAYMENT_BANKTRANSFER_MAX_ORDER) {
echo MODULE_PAYMENT_BANKTRANSFER_MAX_ORDER;
echo <br>;
echo $nAmount;
exit;
$this->enabled = false;
}