2015-06-09 12 views
0

Когда я пытаюсь сохранить данные модуля, он показывает ошибку ниже: Я не знаю, в чем ошибка, но данные хранятся, но каждый раз, когда я попробуйте сохранить эту ошибку.Неустранимая ошибка: вызов неопределенного метода в opencart

ОШИБКА

Fatal error: Call to undefined method ControllerPaymentIcicipg::redirect() in C:\xampp\htdocs\usa\admin\controller\payment\icicipg.php on line 18 

мой код

http://pastebin.com/gH4eefSM

+0

Plz включают ур код в теме вопроса. – Bikku

+0

@Arin Мне не удалось вставить длительный код здесь, поэтому добавьте код в pastebin, пожалуйста, нажмите ссылку для кода –

+0

Проблема в том, что данные пастебина исчезнут через месяц или около того, но вопрос будет здесь навсегда. Вырезать код, который вы вставляете, только в соответствующий код, который воспроизводит проблему. См. [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) – RiggsFolly

ответ

2

Я пришел к выводу, что метод redirect() может быть определено только, если вы используете OpenCart 2.x , поэтому, пожалуйста, проигнорируйте мой комментарий о том, какую версию вы используете.

В Opencart 2.0 $this->redirect() было изменено на $this->response->redirect(). Поэтому линия 17 должна выглядеть примерно так:

$this->response->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL')); 

Еще лучший способ сделать это (держа его совместимым с OpenCart 1.5.x) будет что-то, как это:

if (version_compare(VERSION, '2.0', '>=')) { 
    $this->response->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL')); 
} else { 
    $this->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL')); 
} 
+0

Прекрасно работает, спасибо Тибор –

Смежные вопросы