Доброго времени суток, уважаемые посетители нашего сайта, сегодня поговорим о том как установить модуль к которому вы привыкли и который успешно работал на opencart 1.5.x. на вторую версию Opencart 2.x.
Из выходом второй ветки opencart многие вебмастера столкнулись с такой проблемой как адаптация модулей под нее от предыдущих версий 1.5.x.
Все мы уже знаем что вторая версия opencart кардинально изменена и не похожа на предыдущую, хотя некоторые модули от первой ветки все же прекрасно работают на двойке хотя их и немного и большинство их нужно адаптировать, и изменять.
Сегодня я хотел бы описать здесь часть основных изменений которые были затронуты, и которые нужно применить при адаптации определенного модуля.
На самом же деле адаптация модуля не такая уже и сложная задача если понимать что делать, и с простыми не большими модулями вы сможете справится самостоятельно.
Так же хотим обратить ваше внимание на то что вторая ветка больше не использует VQMOD, а вместо него используется OCMOD, принцип его такой же и имеет похожий синтаксис, хотя при желании вы можете все же подключить и тот же VQMOD, тем более что большинство программистов не спешат переделывать свои модули под OCMOD и дальше пишут их на VQMOD.
И так для адаптации модулей Opencart 1.5.x под Opencart 2.x нужно учитывать следующие отличия:
1. Теперь вместо:
1 |
$this->data |
Нам нужно писать просто:
1 |
$data |
2. А вместо:
1 |
$this->template = 'module/module.tpl'; |
Теперь будет:
1 |
$this->response->setOutput($this->load->view('module/module', $data)); |
3. Так же вместо:
1 |
$this->render() |
Теперь пишем:
1 |
$this->load->view('catalog/category_list.tpl', $data); |
4. Заместо этого:
1 2 3 4 |
$this->children = array( 'common/header', 'common/footer' ); |
Теперь стало:
1 2 3 |
$data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); |
5. Ну и вместо редиректа:
1 |
$this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); |
Теперь используется:
1 |
$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); |
Это конечно не все отличия и изменения а всего лишь малая их часть, но зная эти отличия вы уже будете знать в какую сторону двигаться дальше, так же забыл указать что вторая версия использует bootstrap и все модули нужно так же адаптировать под него.
Общим пробуйте , тестируйте и у вас все получится.
Нет комментариев
Вы можете оставить комментарий первым.