localization in codeigniter, different view on different laguage -
i'm using this approach localize codeigniter web app. works fine, except want remove repetitive code, localize have put inside every controller action following
public function history() { $selectedlang = $this->lang->lang(); switch ($selectedlang) { case "en": $data['switchlang'] = "fr"; $langview = "company/historyen"; break; case "sr": $data['switchlang'] = "en"; $langview = "company/history"; break; default: $data['switchlang'] = "en"; $langview = "company/history"; } $this->lang->load("content"); $this->load->view($langview, $data); }
is possible move inside ci_controller class available controllers than? if how?
or else, please advise me right direction
or can put function in model , autoload model...so can avialable in controller..you need call mehhod 1 line in controller.
okay here go..make 1 model , autoload config/autoload.php put code of yours it....say model name language.
<?php class language extends ci_model { public function history() { $selectedlang = $this->lang->lang(); switch ($selectedlang) { case "en": $data['switchlang'] = "fr"; $langview = "company/historyen"; break; case "sr": $data['switchlang'] = "en"; $langview = "company/history"; break; default: $data['switchlang'] = "en"; $langview = "company/history"; } $this->lang->load("content"); $this->load->view($langview, $data); } }
every controller
<?php if ( ! defined('basepath')) exit('no direct script access allowed'); class controllername extends ci_controller { public function __construct() { parent::__construct(); $this->language->history(); }
Comments
Post a Comment