Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Доставка с фиксированной оплатой 1.5.1.3 убирание из выбора при превышений определенной суммы.


migalkin

Recommended Posts

Потребовалась доработка модуля доставки: "Доставка с фиксированной оплатой"

Спасибо пользователю deeman

Автора популярного модуля SIMPLE

http://opencartforum...BA%D0%B0%D0%B7/

Объясню доработку.

Есть два метода доставки

"Доставка с фиксированной оплатой"

"Доставка без фиксированной оплаты"

Когда сумма меньше определенной то доступен только "Доставка с фиксированной оплатой"

Когда сумма превышает определенную то становится доступен "Доставка без фиксированной оплаты" (бесплатная)

Но "Доставка с фиксированной оплатой" не пропадает когда появляется бесплатная.

Вот код который доработал немного DEEMAN.

Местонахождение /catalog/model/shipping/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;
  }
	  
		$total = $this->currency->convert($this->cart->getSubTotal(), $this->config->get('config_currency'), $this->currency->getCode());
		if ($total >1000) {
			$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;
}
}
?>

Вот кусок в котором надо поменять цифры(Сумма заказа) после которой пропадает доставка.

$total = $this->currency->convert($this->cart->getSubTotal(), $this->config->get('config_currency'), $this->currency->getCode());
	    if ($total >1000) {
		    $status = false;

СПАСИБО не МНЕ а пользователю deeman

  • +1 3
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
  • 2 weeks later...
  • 3 months later...

Добавил эти изменения, но фиксированная стоимость доставки не исчезла из вариантов а стала не доступной, как убрать ее вообще от туда?

Решено, извиняюсь

Змінено користувачем fster
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.