Opencart:当购物达到2,000比索时免运费

时间:2016-07-07 05:39:46

标签: php opencart opencart2.x shipping opencart-module

我之前已经尝试过搜索这个,但我的opencart页面给了我一些错误和错误,这就是我重新加载我的网站的原因。唯一的问题是当购买量达到2,000时,运费将为0(零)或免费。使用其他论坛提供的代码,它会消失/禁用运费,这就是为什么它在结帐页面上出现一些错误(例如,“继续”按钮无法点击,因为没有选择运费)。我想做的是使主值(120.00)为零。

以下是Opencart中的flat.php(我使用的唯一送货方式):

<?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;
}
}



我感谢任何建议,意见或建议。谢谢你们。

1 个答案:

答案 0 :(得分:1)

按照以下说明获取&gt;的免费送货功能2,000比索

  

在catalog \ model \ shipping \ free.php

$ method_data = array();

之前制作以下代码
if ($this->cart->getSubTotal() < $this->config->get('free_total')){
$status = false;
}
  

并在目录\ model \ shipping \ flat.php

$ method_data = array();

之前制作以下代码
if ($this->cart->getSubTotal() >= $this->config->get('free_total')) {
$status = false;
}