我在Opencart 3.0.2.0的所有语言文件中都有问题,在页面中显示它们的文本和变量,并且在除了en-gb.php之外在admin中完美地工作。请看下面的图片。
我已经尝试调试,但无法解决它。我还检查了“存储”修改文件,看看是否有任何文件被覆盖,但它是相同的代码所有地方。
您可以在en-gb.php中看到以下代码,但其变量值未显示在admin的任何页面中。
$ _ ['code'] ='en';
$ _ ['direction'] ='ltr';
$ _ ['date_format_short'] ='d / m / Y';
$ _ ['date_format_long'] ='l dS F Y';
$ _ ['time_format'] ='h:i:s A';
$ _ ['datetime_format'] ='d / m / Y H:i:s';
$ _ ['decimal_point'] ='。';
$ _ ['thousand_point'] =',';
以下是我将解决此问题的步骤:
如果所有这些都是正确的,我们需要深入挖掘OpenCart的核心
$language->load($this->config->get('config_admin_language'));
所以你可以通过返回这样的代码来检查这段代码:
$language->load($this->config->get('config_admin_language'));
//this will output everything that is currently in the languge ibject.
print_r($language);
它应该看起来像这个http://joxi.ru/l2ZRw70szkLLl2
如果它没有返回一个数组,问题可能是这个代码没有正确加载或者结果是由空数组覆盖的某个地方。
如果您的商店有修改,您将需要检查系统/存储/修改并搜索可能正在执行类似操作的任何代码
public function index(&$route, &$args) {
foreach ($this->language->all() as $key => $value) {
if (!isset($args[$key])) {
$args[$key] = $value;
}
}
// this will output the current values of the language object with the route name.
echo $route;
echo '<pre>';
print_r($args);
echo '</pre>';
}
它应该看起来像这个http://joxi.ru/DmBL9V6SJPWjWA
如果在像common/footer
这样的特定路线之后的某个时刻你看到text_home是空的或缺失的,那么你需要检查那条路线及其修改,看看那里发生了什么。
希望这可以帮助。