изменения языка codeigniter + взаимодействие с базой данных - PullRequest
0 голосов
/ 12 декабря 2011

Я нашел много вопросов, подобных этому, на сайте, но ни один из них, похоже, не является тем, что я ищу.

Я использую ловушку 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.

Я думаю, что это возможно, и я просто что-то упускаю или делаю что-то не так.

Спасибо за любую помощь!

1 Ответ

1 голос
/ 12 декабря 2011

Я думаю, что вы можете создать My_Controller, Create MY_Controller и добавить пользовательскую точку подключения:

class MY_Controller extends Controller {

function MY_Controller()
{
    parent::Controller();
    $GLOBALS['EXT']->_call_hook('pre_controller_constructor');
} 

}

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...