Sunteți pe pagina 1din 1

The difference between page rendering in OC < 2.0 and OC 2.

0 are only few but yo


u have to be aware of them.
1. $data
In OC < 2.0 you would do this:
$this->data['text_button_save'] = $this->language->get('text_button_save');
while in OC 2.0 it is only $data, i.e.
$data['text_button_save'] = $this->language->get('text_button_save');
that is passed over to the $this->load->view() method as an argument, e.g.:
$this->response->setOutput($this->load->view('catalog/category_list.tpl', $data)
);
2. $this->render()
is gone. Now you are calling $this->load->view('catalog/category_list.tpl', $dat
a) instead.
3. $this->children
is gone. Now the template child modules' positions are instantiated as part of t
emplate properties while you have to call their controllers manually (WHY?):
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
I was thinking why the hell were these changes required. What has been improved?
Did they want the developers to write less code? Is it now more following the O
OP, MVC, WTF (sorry) principles? And got the answer: NO (or nothing to the first
one).
We still have to load the translations (I mean, we still have to load each singl
e string translation). And gettext is out there for more than 8 years...
Instead of short $this->response->setOutput($this->render()); we now have to cal
l much longer (and incomprehensible) $this->response->setOutput($this->load->vie
w('catalog/category_form.tpl', $data));. Why can't we just do this: $this->rende
r('catalog/category_form.tpl', $data); ???
I personally think OC 2.0 is the same excrement (from the developers perspective
) as it was before. They just changed the packaging. But, honestly, there are ev
en bigger excrements out there, that's why I'm stuck with OpenCart :-)

S-ar putea să vă placă și