从模板访问 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