Jump to content
php.lv forumi

yii language changing


Pavlo

Recommended Posts

Sveiki, 
Jau vairākas dienas netieku skaidrībā.
Problēma sekojoša..
Ir uzstādīta jaunākā yii versija, twitter bootstrap paplašinājums un ELangPick.

Veicot valodas nomaiņu, tā nomainās, taču aizejot uz citu sadaļu valoda tur nav nomainījusies. Valoda nomainās tikai tad, kad tiek pārlādēta lapa.

Kods, kas varētu interesēt: 

        public static function setLanguage()
        {
            
            $app = Yii::app();
        	if (isset($_POST['languagePicker']))
        	{
            	$app->language = $_POST['languagePicker'];
            	$app->session['_language'] = $app->language;
        	}
       		 else if (isset($app->session['_language']))
       		 {
           	 $app->language = $app->session['_language'];
        	}
        	
        }

 

un kā main Controller:

 

        public function init()
	{
  	  Yii::import('ext.LangPick.ELangPick'); 
  	  parent::init();
  	  ELangPick::setLanguage();
	}

 

 

Problēma tiek atrisināta pavisam stulbā veidā.
/config

--main.php

pirms <?php taga atstājot atstarpi.

Tāds problēmas risinājums neder, jo pie UsersController post, tiek saņemts:


Cannot modify header information - headers already sent by (output started at /home/pavlolv/public_html/whoparkedlikeanidiot/protected/config/main.php:2)


Paldies jau iepriekš.

Link to comment
Share on other sites

Pats nesaprotu kāpēc tā notiek:
 

Yii::app()->setLanguage($_POST['languagePicker']);
$cookie = new CHttpCookie('language', $_POST['languagePicker']);
$cookie->expire = time() + 60 * 60 * 24 * $daysExpires; 
Yii::app()->request->cookies['language'] = $cookie;

$_POST['languagePicker'] == en, lv, ru
es tikai netieku skaidrībā, kāpēc cepumā ierakstās man neizprotams strings..
Link to comment
Share on other sites

izskatās, ka tas ir priekš cookie cheksummas pārbaudes, attiecīgi, lietotājs varēs pamainīt ar roku cookies un viss strādā. nav īpaši droši, bet nu atkarīgs ko kūkijos glabā. aj tikai lang settingus, tad nav tik traki :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...