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

Привязка способа доставки к способу оплаты


Recommended Posts

Добрый день. Я добавила способ доставки через ftp, способом копирования файлов уже существующего способа flat13 и переименования его в flat14. Короче, у меня получилось, но при выборе этого нового способа оплаты вместо списка способов оплаты появляется ошибка "Оплата по данному адресу невозможна. Пожалуйста, свяжитесь с нами для решения этого вопроса!. Везде пишут, что нужно искать причину в товаре, но с тем же товаров в корзине, если выбрать другой способ доставки, все ок. И я так поняла, что где-то в файлах у старых способов доставки есть привязка к способом оплаты. Подскажите где?

Кстати, всю эту тягомотину я делаю не через админку, а через ftp потому что у меня версия: OCSHOP.CMS © 2009-2021 All Rights Reserved.
Версия 1.5.6.3.2

 

Надіслати
Поділитися на інших сайтах


Смотрите в админке настройки flat14, там есть геозоны для доставки. Вы их наверное не выбрали, и код на этот останавливается со статусом false.

Надіслати
Поділитися на інших сайтах

20 минут назад, Eldaeron сказал:

Смотрите в админке настройки flat14, там есть геозоны для доставки. Вы их наверное не выбрали, и код на этот останавливается со статусом false.

А где именно в админке? 
У меня админка выглядит вот так: https://prnt.sc/1tx6n4c

Надіслати
Поділитися на інших сайтах


1 година назад, valrietta сказав:

А где именно в админке? 
У меня админка выглядит вот так: https://prnt.sc/1tx6n4c

Смотрю нет прав на некоторые модули доставки.

 

Тут тогда можно посмотреть в catalog/model/shipping/flat14.php

 

Если можете скиньте код посмотрим хоть глазком че не так.

Надіслати
Поділитися на інших сайтах

1 час назад, Eldaeron сказал:

Смотрю нет прав на некоторые модули доставки.

 

Тут тогда можно посмотреть в catalog/model/shipping/flat14.php

 

Если можете скиньте код посмотрим хоть глазком че не так.

<?php
class ModelShippingFlat14 extends Model {
	function getQuote($address) {
		$this->language->load('shipping/flat14');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('flat14_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('flat14_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}

		$method_data = array();
	
		if ($status) {
			$quote_data = array();
			
      		$quote_data['flat14'] = array(
        		'code'         => 'flat14.flat14',
        		'title'        => 
              '' . $this->language->get('text_description'),
        		'cost'         => $this->config->get('flat14_cost'),
        		'tax_class_id' => $this->config->get('flat14_tax_class_id'),
				'text'         => $this->currency->format($this->tax->calculate($this->config->get('flat14_cost'), $this->config->get('flat14_tax_class_id'), $this->config->get('config_tax')))
      		);

      		$method_data = array(
        		'code'       => 'flat14',
        		'title'      => $this->language->get('text_title'),
        		'quote'      => $quote_data,
				'sort_order' => $this->config->get('flat14_sort_order'),
        		'error'      => false
      		);
		}
	
		return $method_data;
	}
}
?>

Большое спасибо, что помогаете мне. Отправляю код!

Надіслати
Поділитися на інших сайтах


тут все верно, остаеться попробовать вар_дамп

image.png.3df529bb7fe85f1cabac4b12cc9dd57b.png

 

красным показал что и где вставить, и посмотреть что будет при выборе флат14

Надіслати
Поділитися на інших сайтах

15 часов назад, Eldaeron сказал:

тут все верно, остаеться попробовать вар_дамп

image.png.3df529bb7fe85f1cabac4b12cc9dd57b.png

 

красным показал что и где вставить, и посмотреть что будет при выборе флат14

 

К сожалению не помогло. На всякий случай скину код снова.

<?php
class ModelShippingFlat14 extends Model {
	function getQuote($address) {
		$this->language->load('shipping/flat14');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('flat14_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('flat14_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
		
		var_dump($status);
		$method_data = array();
	
		if ($status) {
			$quote_data = array();
			
      		$quote_data['flat14'] = array(
        		'code'         => 'flat14.flat14',
        		'title'        => 
              '' . $this->language->get('text_description'),
        		'cost'         => $this->config->get('flat14_cost'),
        		'tax_class_id' => $this->config->get('flat14_tax_class_id'),
				'text'         => $this->currency->format($this->tax->calculate($this->config->get('flat14_cost'), $this->config->get('flat14_tax_class_id'), $this->config->get('config_tax')))
      		);

      		$method_data = array(
        		'code'       => 'flat14',
        		'title'      => $this->language->get('text_title'),
        		'quote'      => $quote_data,
				'sort_order' => $this->config->get('flat14_sort_order'),
        		'error'      => false
      		);
		}
	
		return $method_data;
	}
}
?>

 

Надіслати
Поділитися на інших сайтах


2 година назад, valrietta сказав:

 

К сожалению не помогло. На всякий случай скину код снова.



<?php
class ModelShippingFlat14 extends Model {
	function getQuote($address) {
		$this->language->load('shipping/flat14');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('flat14_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('flat14_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
		
		var_dump($status);
		$method_data = array();
	
		if ($status) {
			$quote_data = array();
			
      		$quote_data['flat14'] = array(
        		'code'         => 'flat14.flat14',
        		'title'        => 
              '' . $this->language->get('text_description'),
        		'cost'         => $this->config->get('flat14_cost'),
        		'tax_class_id' => $this->config->get('flat14_tax_class_id'),
				'text'         => $this->currency->format($this->tax->calculate($this->config->get('flat14_cost'), $this->config->get('flat14_tax_class_id'), $this->config->get('config_tax')))
      		);

      		$method_data = array(
        		'code'       => 'flat14',
        		'title'      => $this->language->get('text_title'),
        		'quote'      => $quote_data,
				'sort_order' => $this->config->get('flat14_sort_order'),
        		'error'      => false
      		);
		}
	
		return $method_data;
	}
}
?>

 

оно и не поможет, оно должно вывести обычно вврху страницы - bool (true) или (false), а дальше будем знать сработает модуль или отключится.

Надіслати
Поділитися на інших сайтах

3 часа назад, Eldaeron сказал:

оно и не поможет, оно должно вывести обычно вврху страницы - bool (true) или (false), а дальше будем знать сработает модуль или отключится.

Поняла вас, но ничего не происходит. При выборе нового способа доставки (ОЗОН) на сайте https://podogrev-atlant.ru вверху ничего не появляется. Мы так же проваливаемся дальше в способы оплаты, где ошибка "Оплата по данному адресу невозможна. Пожалуйста, свяжитесь с нами для решения этого вопроса!"

Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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