Jump to content
php.lv forumi

Recommended Posts

Posted

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š.

Posted

Nezinu.

Tomēr - tev language cookies tiešām korekti uzstādās? 

Vienkārši ELangPick plugina demo lapā browserī var redzēt kā iekš cookies nomainās "language" cookies pie katra klikšķa. Tavā lapā it kā nevar redzēt.

Posted

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..
Posted

Apskaties, vai vaina nav iekš $_POST['languagePicker'] - apsties, kas tur iekšā parādās..

Piemēram, iekš setLanguage uzliec kaut kādu var_dump($_POST) vai tml. un apskaties, kas parādās pēc katra klikšķa.

Posted


$_POST['languagePicker'] == ar izvēlēto valodu


$_POST['languagePicker'] vietā ieliku "en" rezultāts tāds pats. cepumā df8e40a0fd4a5eef283baab2f1e4b9f3657d4b82s

Posted

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 :)

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...