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