OpenCart 🇺🇦

Класс ModelShippingWeight extends Model { ... }

Тип Возвр. Описание
public mixed getQuote ( $address )
Исходный код метода:
$this->language->load('shipping/weight');

$quote_data = array();

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "geo_zone ORDER BY name");

foreach ($query->rows as $result) {
	if ($this->config->get('weight_' . $result['geo_zone_id'] . '_status')) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$result['geo_zone_id'] . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");

		if ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
	} else {
		$status = false;
	}

	if ($status) {
		$cost = '';
		$weight = $this->cart->getWeight();

		$rates = explode(',', $this->config->get('weight_' . $result['geo_zone_id'] . '_rate'));

		foreach ($rates as $rate) {
			$data = explode(':', $rate);

			if ($data[0] >= $weight) {
				if (isset($data[1])) {
					$cost = $data[1];
				}

				break;
			}
		}

		if ((string)$cost != '') { 
			$quote_data['weight_' . $result['geo_zone_id']] = array(
				'code'         => 'weight.weight_' . $result['geo_zone_id'],
				'title'        => $result['name'] . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class_id')) . ')',
				'cost'         => $cost,
				'tax_class_id' => $this->config->get('weight_tax_class_id'),
				'text'         => $this->currency->format($this->tax->calculate($cost, $this->config->get('weight_tax_class_id'), $this->config->get('config_tax')))
			);	
		}
	}
}

$method_data = array();

if ($quote_data) {
	$method_data = array(
		'code'       => 'weight',
		'title'      => $this->language->get('text_title'),
		'quote'      => $quote_data,
		'sort_order' => $this->config->get('weight_sort_order'),
		'error'      => false
	);
}

return $method_data;

Связанные классы:

Название класса Роль
class Cart { ... } Компонент Cart используется в данном классе
class Config { ... } Компонент Config используется в данном классе
class Currency { ... } Компонент Currency используется в данном классе
class DB { ... } Компонент Db используется в данном классе
class Language { ... } Компонент Language используется в данном классе
class Tax { ... } Компонент Tax используется в данном классе

Комментарии