从模板访问类属性和方法

时间:2015-08-10 20:58:30

标签: php oop opencart opencart2.x

在Opencart 2.0之前,可以直接从模板中访问类属性。例如,$this->config->get('config_language')$this->request->get['route']都可以从管理模板文件中访问。

使用新方法$this->load->view(),这些都不起作用。有没有一种简单的方法可以将当前控制器中可用的类方法和属性传递给tpl,而无需将它们显式添加到$data数组中?

1 个答案:

答案 0 :(得分:2)

在Opencart版本2中,如果您想要这些变量,那么您可以轻松访问它们。代码略有变化,现在可以使用

$this->registry 

它拥有一切。所以你必须得到这些东西

$this->registry

像这样

$this->registry->get('config')

它会像

一样工作
$this->config  

所以你的

$this->config->get('config_language')

变为

$this->registry->get('config')->get('config_language')
像这样

$this->request->get['route'] == $this->registry->get('request')->get['route'];

$this->request->post['route'] == $this->registry->get('request')->post['route'];

$this->request->files['file'] == $this->registry->get('request')->files['file'];

更多只需在任何模板中打印$this->registry