2011-12-20 43 views
8

它有一种方法来读取Opencart语言内的一切吗?Opencart如何添加一切从语言文件在PHP循环

目前,我必须:

Controller 
$this->load->language('help');   
$this->data['heading_title'] = $this->language->get('heading_title');  
$this->data['tab1'] = $this->language->get('tab1'); 

语言文件

<?php 
// Heading 
$_['heading_title']  = 'Help'; 
$_['tab1'] = 'Account';  
?> 
+0

你为什么会喜欢这样做? 这会污染你的$ this->数据数组 – Qchmqs 2011-12-22 11:20:43

+0

是的,我想到了这一点,并将所有内容添加到$ this-> data ['language']以防止任何东西被覆盖。 – 2011-12-22 11:26:41

+0

我认为应该添加到opencart的核心,在我认为的控制器类中,或者改进它自己的语言类 – Qchmqs 2011-12-25 12:54:47

回答

6

做的最简单的办法就是使用数组合并在控制器的顶部

$this->data = array_merge($this->data, $this->language->load('language/file')); 

或简单地

$this->data += $this->language->load('language/file'); 
+0

永远不要期望它是1班轮,谢谢 – 2011-12-20 18:28:34

0

在系统/库/ language.php中是一个 函数来获取所有名为all()的函数。

这是如何获得的单个项目:

$var = $this->language->get('heading_title'); 

这将返回所有语言条目的数组:

$var = $this->language->all();