繁体   English   中英

我的 Opencart 显示 php 警告未定义数组键

[英]My Opencart shows php warning undefined array key

我最近安装的语言扩展有问题。 现在我无法登录管理面板,我看到了这些日志:

2022-12-30 16:30:17 - PHP Warning:  Undefined array key "" in /var/www/html/opencart/admin-084AQ/controller/startup/language.php on line 21
2022-12-30 16:30:17 - PHP Warning:  Trying to access array offset on value of type null in /var/www/html/opencart/admin-084AQ/controller/startup/language.php on line 21
2022-12-30 16:30:17 - PHP Warning:  Undefined array key "" in /var/www/html/opencart/admin-084AQ/controller/startup/language.php on line 27

language.php 是:

<?php
namespace Opencart\Admin\Controller\Startup;
class Language extends \Opencart\System\Engine\Controller {
    public function index(): void {
        $language_data = [];

        $this->load->model('localisation/language');

        $results = $this->model_localisation_language->getLanguages();

        foreach ($results as $result) $language_data[$result['code']] = $result;

        // Language not available then use default
        $code = $this->config->get('config_language_admin');

        if (isset($this->request->cookie['language']) && array_key_exists($this->request->cookie['language'], $language_data)) {
            $code = $this->request->cookie['language'];
        }

        // Set the config language_id
        $this->config->set('config_language_id', $language_data[$code]['language_id']);
        $this->config->set('config_language_admin', $code);

        // Language
        $language = new \Opencart\System\Library\Language($code);

        if (!$language_data[$code]['extension']) {
            $language->addPath(DIR_LANGUAGE);
        } else {
            $language->addPath(DIR_EXTENSION . $language_data[$code]['extension'] . '/admin/language/');
        }

        $language->load($code);
        
        $this->registry->set('language', $language);
    }
}

Opencart 4.0.1.1 PHP 8.0

Opencart 需要config_language_admin表的关键字段中的oc_settings值。 但它很可能在那里保存为config_admin_language

因此解决方法是在数据库config_admin_language重命名为config_language_admin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM