In my Layout/default.ctp I do something like:
and seems to work.
I hade the same problem with you that's why I ended up in this solution.
On Tuesday, May 13, 2014 2:40:55 PM UTC+3, Lorenzo Milesi wrote:
-- $url = join('/',array($this->params['controller'],$this->params['action'],join('/',$this->params['pass'])));
echo $this->Html->link('GR','/ell/'.$url). ' | ' . $this->Html->link('EN','/eng/' . $url) ;
and seems to work.
I hade the same problem with you that's why I ended up in this solution.
On Tuesday, May 13, 2014 2:40:55 PM UTC+3, Lorenzo Milesi wrote:
Hi.
I localized my app using [1] and [2] and works fine, but I'm having problem with the language switcher and page views.
In my top menu I have the following items:
echo $this->Html->link(__('Knowledge Base'), array('controller' => 'pages', 'action' => 'view','knowledge-base', 'admin' => false));
echo $this->Html->link(__('Contact'), array('controller' => 'pages', 'action' => 'support', 'admin' => false));
My routes.php:
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home', 'language'=>'eng'));
[...] custom rules [...]
Router::connect('/:language/:controller/:action/*',
array(),
array('language' => 'eng|ita'));
Router::connect('/:language/:controller',
array('action' => 'index'),
array('language' => 'eng|ita'));
Router::connect('/:language',
array('controller' => 'welcome', 'action' => 'index'),
array('language' => 'eng|ita'));
My language selector:
echo $this->Html->link($this->Html->image('icons/flags/small/ united_kingdom.jpg', array('alt'=>'English','width' =>'25','height'=>'16')), array('language'=>'eng'), array('title'=>'English',' escape' => false));
echo $this->Html->link($this->Html->image('icons/flags/small/ italy.jpg', array('alt'=>'Italiano',' width'=>'25','height'=>'16')), array('language'=>'ita'), array('title'=>'Italiano',' escape' => false));
Now, when I'm visiting custom pages liike "contact" above it works great, but when I'm in a page view like the "Knowledge base" one above the language switcher fails because the Router doesn't consider the $page variable!
So the generated url is:
http://localhost/work/mysite/app/webroot/ita/pages/view
while the one in the top menu is
http://localhost/work/mysite/app/webroot/ita/pages/view/ knowledge-base
What's wrong?
Thanks
[1] http://book.cakephp.org/2.0/en/core-libraries/ internationalization-and- localization.html
[2] http://colorblindprogramming.com/multiple-languages-in-a- (with all the comments and modifications)cakephp-2-application-in-5- steps
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:
Post a Comment