Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > symfony1
symfony1 Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/11/2012, 18h02   #1
Jo Dalton
Invité de passage
 
Inscription : septembre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 9
Points : 2
Points : 2
Par défaut Afficher les drapeaux des langues disponibles (traduction) dans une liste de l'admin

Bonjour à tous,

J'ai une application de type vente privé. Le site est traduit en 2 langues Français et Anglais, jusqu'ici pas de souci.

Sur le frontend je n'affiche les produits que si le titre et la description sont disponible dans la langue d'affichage actuel du site, jusqu'ici pas de souci.

Dans le backend j'aimerais afficher dans la liste des articles des petits drapeaux pour que l'utilisateur sache si le titre et la description du produit sont traduit (non vide dans la langue).

Dans la liste de mes articles j'ai réussi a affiché mes drapeaux en créant le fichiers _drapeaux.php et en l’appelant depuis le fichier generator.yml du module

Fichier generator.yml

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
generator:
  class: sfDoctrineGenerator
  param:
    model_class:           Objet
    theme:                 admin
    non_verbose_templates: true
    with_show:             false
    singular:              ~
    plural:                ~
    route_prefix:          objet
    with_doctrine_route:   true
    actions_base_class:    sfActions
 
    config:
      actions: ~
      fields:
        new_ObjetOption:  { label: Nouvelle option }
      list:
        title:   Liste des articles
        display: [=titre,_drapeaux, =valeur, _image]
        object_actions:
          _edit:      ~
      filter:
        display: [titre,valeur]
      form:    ~
      edit:
        title:   Modification de l'article "%%titre%%"
      new:
        title:   Création d'un article
Fichier _drapeaux.php

Code :
1
2
3
4
5
6
<?php if($objet->getTranslation()->fr->titre){?>
<img src="/images/front/flag_fr.gif"/>
<?php }; ?>
<?php if($objet->getTranslation()->en->titre){?>
<img src="/images/front/flag_en.gif"/>
<?php }; ?>
L'affichage fonctionne mais si j'effectue une recherche via le filtre "titre" alors seul le drapeaux français s’affiche. Ce qui est normal puisque le backend n'est utilisé qu'en français et donc que la recherche se fait sur la langue fr si je change de langage dans le back alors c'est l'inverse recherche sur la traduction "EN" est affichage des drapeaux en anglais seulement. Quelqu'un aurait il une idée pour que les drapeaux s'affiche bien tout en utilisant le filtre.

En gros comment avoir accès aux différentes traductions de mon objet indépendamment de la langue de navigation actuelle ?

Autre problème lié :

Lorsque j'ajoute une nouvelle vente je voudrait qu'au moment de choisir l'article à mettre en vente dans le select du formulaire new ou edit je puisse savoir dans quel langue est traduit cet article en ajoutant à la suite du nom du produit les chaines : "FR" et/ou "EN".

Pour cela j'ai voulu utilisé la fonction toString (ci dessous) de mon article et là même problème seul FR s'affiche car je navigue dans l'admin en français inversement si je navigue sur l'admin en anglais.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public function __toString()
	{
		$titre=$this->getTitre();
		if(strlen($titre)>30){
		//$this->getId().' - '.
			$titre=substr($this->getTitre(),0,30).'... - '.number_format($this->getValeur(),2,'.','').'€  -  '; 
		}else{
		//$this->getId().' - '.
			$titre=$this->getTitre().' - '.number_format($this->getValeur(),2,'.','').'€  -  '; 
		}
		if($this->getTranslation()->fr->titre){
				$titre.='FR  ';
			};
			if($this->getTranslation()->en->titre){
				$titre.='EN';
			};
		return $titre;
	}
Encore une fois je pense qu'on en revient ici :

En gros comment avoir accès aux différentes traductions de mon objet indépendamment de la langue de navigation actuelle dans la fonction toString ?


Voila si quelqu'un a une idée je suis preneur car ce problème me trotte depuis un moment.

Merci d'avance Yoann
Jo Dalton est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2013, 10h06   #2
Khalezis
Futur Membre du Club
 
Inscription : avril 2010
Messages : 68
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 68
Points : 18
Points : 18
Bonjour,

Peux t -on avoir les schemas de la base de donnée, stp?
Khalezis est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h53.


 
 
 
 
Partenaires

Hébergement Web