Я нашел много вопросов, подобных этому, на сайте, но ни один из них, похоже, не является тем, что я ищу.
Я использую ловушку pre_controller, чтобы изменить опцию языка конфигурации.
function get_language(){
session_start();
if($this->ci->session->userdata('language')){
if($_SESSION['language']){
$language = $_SESSION['language'];
// Load CI config class
$CI_config =& load_class('Config');
// Set the language config. Selects the folder name from its key of 'en'
$CI_config->set_item('language', $language);
// Sets a constant to use throughout ALL of CI.
define('CURRENT_LANGUAGE', $language);
}
}
}
Это работает нормально, но я также хотел бы получить доступ к объекту CI .. Я знаю это, потому чтокрючок - это предварительный контроллер, который не будет работать.Однако, если я сделаю хук post_controller_constructor, изменение языка не будет работать, потому что оно уже все загружено с использованием языковой опции по умолчанию.
Я могу делать то, что хочу в хуке, используя стандартный php, но я был бы счастливиспользовать объект CI.
Я думаю, что это возможно, и я просто что-то упускаю или делаю что-то не так.
Спасибо за любую помощь!