在Opencart 2.0之前,可以直接从模板中访问类属性。例如,$this->config->get('config_language')
或$this->request->get['route']
都可以从管理模板文件中访问。
使用新方法$this->load->view()
,这些都不起作用。有没有一种简单的方法可以将当前控制器中可用的类方法和属性传递给tpl,而无需将它们显式添加到$data
数组中?
答案 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
。