Перейти к содержанию
KeH192

переработка модуля Оплата наличными в точке выдачи

Рекомендуемые сообщения

Здравствуйте, в виду отсутствия нужного мне модуля, который бы выводил только на заданные товары метод оплаты "Наличными на пункте выдачи", решил переработать уже готовый модуль добавив в него данную функцию, но столкнулся вот с такой проблемой 

Warning: json_decode() expects parameter 1 to be string, array given in /home/virtwww/w_elbrust-ru_dc1f47bd/http/catalog/model/payment/cash_in_a_delivery_point.php on line 25Warning: array_search() expects parameter 2 to be array, null given in/home/virtwww/w_elbrust-ru_dc1f47bd/http/catalog/model/payment/cash_in_a_delivery_point.php on line 27

И вот собственно код самого файла из которого выдаются ошибки:

<?php 
class ModelPaymentCashInADeliveryPoint extends Model {
  	public function getMethod($address, $total) {
		$this->load->language('payment/cash_in_a_delivery_point');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('cash_in_a_delivery_point_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('cash_in_a_delivery_point_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}

		if ($this->cart->getSubTotal() < $this->config->get('cash_in_a_delivery_point_total')) {
			$status = false;
		}
		
		$method_data = array();
	
		if ($status) {
			$have_special = false;
			
			$cash_in_a_delivery_point_products = json_decode($this->config->get('cash_in_a_delivery_point_products'));
			foreach ($this->cart->getProducts() as $products) {
				if (array_search($products['product_id'], $cash_in_a_delivery_point_products) !== false) {
					$have_special = true;
				}
			}
			
			if ($have_special) {
				$quote_data = array();
				
				$quote_data['cash_in_a_delivery_point'] = array(
					'code'         => 'cash_in_a_delivery_point.cash_in_a_delivery_point',
					'title'        => $this->language->get('text_description'),
					'cost'         => 0.00,
					'tax_class_id' => 0,
					'text'         => $this->currency->format(0.00)
				);

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

Модуль пытался переработать взяв его за основу, и пытался выдрать функцию применимую по товарам вот из этого модуля.

В административных файлах сделал корректные изменения в админке вся работает как часы. А вот в пользовательской части выдаёт вот такую вот ошибку... В пхп я только новичок поэтому очень прошу вашей помощи в данном вопросе. 

Мною внесены изменения в следующие файлы: 

\admin\controller\payment\cash_in_a_delivery_point.php

\admin\language\russian\payment\cash_in_a_delivery_point.php

\admin\view\template\payment\cash_in_a_delivery_point.tpl

\catalog\model\payment\cash_in_a_delivery_point.php

 

И собственно сам модуль уже с изменениями внесенными мною: http://filebeam.com/b6a5cf28d7ccdb9664e0d4c6dceb77ab

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста хоть кто нибудь, готов за помощь заплатить денег! Очень нужно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выложи, пожалуйста, тоже очень необходим этот модуль! 

Заранее благодарен! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.