informatique:php:symfony:gestion_de_la_langue_de_l_utilisateur
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
informatique:php:symfony:gestion_de_la_langue_de_l_utilisateur [09/02/2011 18:19] – [Sélection de la langue par l'utilisateur] cyrille | informatique:php:symfony:gestion_de_la_langue_de_l_utilisateur [19/05/2012 00:18] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 62: | Ligne 62: | ||
===== Sélection de la langue par l' | ===== Sélection de la langue par l' | ||
+ | |||
+ | ==== Création IHM de sélection ==== | ||
On va tout d' | On va tout d' | ||
Ligne 85: | Ligne 87: | ||
</ | </ | ||
- | Ce code réalise par mal de traitement, via sfFormLanguage qui retrouve toutes les langues dispo dans Symfony pour en extraire celles indiquées dans la configuration du site. On va donc éviter du travail au moteur Php en activant | + | Le template associé à ce composant contient le Form nécessaire à sfFormLanguage: |
+ | <code php> | ||
+ | <!-- apps/ | ||
+ | <form action="<? | ||
+ | <label for=" | ||
+ | <?php echo $form[' | ||
+ | <?php echo $form-> | ||
+ | <input type=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ce code (defaultComponents-> | ||
# apps/ | # apps/ | ||
Ligne 91: | Ligne 104: | ||
enabled: true | enabled: true | ||
+ | ==== Traitement de la sélection ==== | ||
+ | |||
+ | Création d'une route pour l' | ||
+ | |||
+ | # apps/ | ||
+ | change_language: | ||
+ | url: / | ||
+ | param: { module: default, action: changeLanguage } | ||
+ | |||
+ | Et le code de l' | ||
+ | <code php> | ||
+ | # apps/ | ||
+ | class defaultActions extends sfActions | ||
+ | { | ||
+ | ... | ||
+ | public function executeChangeLanguage($request) | ||
+ | { | ||
+ | $available_cultures = sfConfig:: | ||
+ | if( ! is_array($available_cultures) ) | ||
+ | { | ||
+ | throw new sfConfigurationException(sprintf(' | ||
+ | } | ||
+ | |||
+ | $this-> | ||
+ | $this-> | ||
+ | array(' | ||
+ | ); | ||
+ | |||
+ | if ($this-> | ||
+ | { | ||
+ | // culture has been changed | ||
+ | } | ||
+ | |||
+ | return $this-> | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Et voilà, j' | ||
informatique/php/symfony/gestion_de_la_langue_de_l_utilisateur.1297271943.txt.gz · Dernière modification : 19/05/2012 00:15 (modification externe)