Доброго времени суток, уважаемые посетители нашего сайта, сегодня поговорим о том как установить модуль к которому вы привыкли и который успешно работал на 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 и все модули нужно так же адаптировать под него.
Общим пробуйте , тестируйте и у вас все получится.
Нет комментариев
Вы можете оставить комментарий первым.