Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voici ma prise de tête :
Je suis entrain de développer un site multi-langues, toutes mes données sont encodés dans ma db dans 2 langues avec un code iso (fr, nl).
Donc quand je suis sur un page ex http://localhost/store/more/id/1 en français,
j'aimerai passer en néerlandais et garder mon url et donc juste prendre de la db la version nl.
j'ai mis dans mon fichier views de mon menu
<li><a href="<?php echo $this->link('index', 'language', null, array('lang'=>'fr'));?>">FR</a></li> <li><a href="<?php echo $this->link('index', 'language', null, array('lang'=>'nl'));?>">NL</a></li>
et dans mon controllers
public function languageAction() { $request = $this->getRequest(); $params = $request->getParams(); $front = Zend_Controller_Front::getInstance(); $from_url = 'http://'.$_SERVER['HTTP_HOST'].$front->getBaseUrl(); if (isset($params['lang']) && in_array($params['lang'], array('fr', 'nl'))) { $session = $_SESSION['Default']['Langue'] = $params['lang']; } $this->_redirect($from_url); }
Mais je retourne à ma page d'accueil.
Quelqu'un aurait-il une solution pour rester sur la même page.
Merci de l'aide,
Ted
Dernière modification par ted00 (02-07-2009 17:06:08)
Hors ligne
Salut,
Change tes lignes de code :
$front = Zend_Controller_Front::getInstance(); $from_url = 'http://'.$_SERVER['HTTP_HOST'].$front->getBaseUrl();
par :
$from_url = $_SERVER['HTTP_REFERER'];
en trois lignes :
public function languageAction() { if (in_array($this->_request->getParam('lang'), array('fr', 'nl'))) { $session = $_SESSION['Default']['Langue'] = $this->_request->getParam('lang'); } $this->_redirect($_SERVER['HTTP_REFERER']); }
++
Dernière modification par ubini (06-07-2009 11:59:51)
Hors ligne
Hello,
Sorry de répondre si tard mais je suis parti me détendre un peu.
Je pense que c'est quelques ligne sont bonnes.
Merci de l'aide,
Ted
Hors ligne
Pages: 1