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

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

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

У меня есть рабочий модуль оплаты 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.

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


Ссылка на сообщение
Поделиться на другие сайты
$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 пользователей онлайн

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

×

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

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