Friday, October 24, 2014

Re: Different languages in one page.

Hi, 

I tested it and it works. 

You still have to put the locale within your view functions, to select a translation from the database.


===============
Controller:view()
===============

Start from these ideas: 

http://example.com/eng/profile/view/1/translate:esp


Then in your view method:

public function view($id = null)
{
  if(isset($this->passedArgs['translate'])){
    $this->Profile->locale = $this->passedArgs['translate'];
 }
$options = array(
 // your options here
)
$profile = $this -> Profile -> find('first', $options);
$this->set('profile', $profile);
}


================
view.ctp
================


<?
// before your html code

if(isset($this->passedArgs['translate']))
{
 Configure::write('Config.language', $this->passedArgs['translate']);
}
?>

<div>
<!-- your content goes here -->
</div>

<?php 
// after your html code

if(isset($this->params['language']))
{
   Configure::write('Config.language', $this->params['language']);
}
?>

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: