Ich habe schon versucht, vorher zu suchen, aber meine OpenCart-Seite hat mir einige Bugs und Fehler gegeben, weshalb ich meine Website neu hochgeladen habe. Das einzige Problem ist, wenn die Einkäufe 2.000 erreichen, ist die Versandkostengebühr 0 (Null) oder frei. Mit den Codes, die von anderen Foren gegeben werden, verschwindet/deaktiviert die Versandkosten, deshalb gibt es einige Fehler auf der Checkout-Seite (zum Beispiel kann "Weiter" -Knopf nicht angeklickt werden, da keine Versandgebühr ausgewählt wurde). Was ich tun möchte, ist, den Hauptwert (120,00) auf Null zu setzen.
Hier ist der flat.php (die einzige Versandart ich verwende) von Opencart:Opencart: Versandkosten frei machen, wenn die Einkäufe 2.000 Pesos erreicht haben
<?php
class ModelShippingFlat extends Model {
function getQuote($address) {
$this->load->language('shipping/flat');
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('flat_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
if (!$this->config->get('flat_geo_zone_id')) {
$status = true;
} elseif ($query->num_rows) {
$status = true;
} else {
$status = false;
}
$method_data = array();
if ($status) {
$quote_data = array();
$quote_data['flat'] = array(
'code' => 'flat.flat',
'title' => $this->language->get('text_description'),
'cost' => $this->config->get('flat_cost'),
'tax_class_id' => $this->config->get('flat_tax_class_id'),
'text' => $this->currency->format($this->tax->calculate($this->config->get('flat_cost'), $this->config->get('flat_tax_class_id'), $this->config->get('config_tax')))
);
$method_data = array(
'code' => 'flat',
'title' => $this->language->get('text_title'),
'quote' => $quote_data,
'sort_order' => $this->config->get('flat_sort_order'),
'error' => false
);
}
return $method_data;
}
}
ich irgendwelche Ratschläge, Anregungen oder Meinungen zu schätzen wissen. Danke Leute.
1. EDIT: Katalog/Modell/Zahlung/flat.php 2. FIND: Code: Alles auswählen if ($ status) { 3. VOR, ADD: Code: Alle auswählen if ($ this-> cart-> getSubtotal()> 120.00) { $ status = false; } –
Ich finde keine flat.php unter catalog/model/payment/flat.php Ich habe meine in public_html/catalog/model/shipping gesehen. Denkst du, sie sind anders? EDIT: Ich denke, das Problem ist in der order.php unter public_html/catalog/model/checkout? –
Können Sie neue PHP-Tag in die gleiche Datei, die Sie in Ihrer Frage erwähnen und den Code, den ich vorgeschlagen habe Sie in den Kommentar und schließen Sie das Tag?> Wenn nicht arbeiten dann überprüfen Sie order.php hoffe, es wird für Sie arbeiten. –