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

Помогите адаптировать модуль под opencart 2.0


Recommended Posts

У меня есть рабочий модуль оплаты Robokassa, для версий 1.5.х

 

Хочу его адаптировать под версию opencart 2.0

 

Контроллер admin\controller\payment\robokassa.php изенил так:

 

Все строки начинающиеся с

$this->data

заменил на

$data

Часть ошибок исчезла.

Потом изменил эти строки:

$this->template = 'payment/robokassa.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);

		$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
	}

на эти

$data['header'] = $this->load->controller('common/header');
		$data['column_left'] = $this->load->controller('common/column_left');
		$data['footer'] = $this->load->controller('common/footer');

		$this->response->setOutput($this->load->view('payment/robokassa.tpl', $data));
	}

После чего в админке этот модуль стал отображаться. Можно сохранять настройки и все такое.

 

Теперь пытаюсь передалать контроллер в каталоге: catalog\controller\payment\robokassa.php

 

Ошибки указывают на эту часть кода.

 

Вот ошибки:

Notice: Undefined index: OutSum in W:\domains\localhost\avtozapchasti72\catalog\controller\payment\robokassa.php on line 117Notice: Undefined index: InvId in W:\domains\localhost\avtozapchasti72\catalog\controller\payment\robokassa.php on line 118Notice: Undefined index: SignatureValue in W:\domains\localhost\avtozapchasti72\catalog\controller\payment\robokassa.php on line 119

Вот кусок кода, на который указывают ошибки:

public function callback() {

		$mrh_pass2 = $this->config->get('robokassa_password2');

		$out_summ = $this->request->post['OutSum'];
		$order_id = $this->request->post["InvId"];
		$crc = $this->request->post["SignatureValue"];

Когда выбираешь способ оплаты выдает вот такую ошибку:

ROBOKASSA Notice: Undefined index: terms in W:\domains\localhost\avtozapchasti72\catalog\view\theme\avtozapchasti72\template\checkout\payment_method.tpl on line 16

Подскажите пожалуйста, как адаптировать контроллер каталога для версии 2.0?

 

P.S. Знаю что есть платный модуль Робокассы, который работает на 2.0. Но хочется научиться адаптировать, так как на версию 2.0 очень мало модулей, которыми мы успели "обрасти" на версии 1.5. Если с вашей помощью удастся переделать модуль, то на основе этого примера, можно пробовать переделывать и другие, рабочие модули для версии 1.5.

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


  • 1 year later...
$out_summ = $this->request->post['OutSum'];

Вы в .tpl назначили переменную outsum и передаете ее контроллеру? Например поле для ввода:

<input type="text" name="OutSum" value="<?php echo $robokassa_OutSum; ?>" placeholder="<?php echo $entry_OutSum; ?>" id="input-outsum" class="form-control" />

 

А ище лучше думаю делать правило чтоб небыло ошибок:

if (!isset($this->request->post['OutSum']) {
 $OutSum = ''; // OutSum небыла передана.
}

Посмотрите как сделаны контроллеры методов оплаты в 2.0 версиях, так легче переносить :) Поверьте уж

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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