Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2011, 19h24   #1
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Par défaut Ordre des intitules depuis messages.xml

bonjour,

j'ai une table qui comporte des intitulés Anglais et des valeurs.
Je souhaite traduire ces intitulés redondant, puisqu'ils sont quasiment les mêmes pour tous mes fichiers.

J'ai donc inséré la traduction de ces intitulés dans messages.xml plutot que d'utiliser la traduction i18n en table.

Comment pourrais-je les trier à l'affichage sans alourdir le chargement de la page ?

Exemple de data :

AS : 400
Nom du fichier : 00117.jpg
Longueur de focale : 50,0 mm
Headline : West Cheval 2010
Hauteur de l'image : 4288 pixels
Largeur de l'image : 2848 pixels

Exemple messages.xml
<trans-unit>
<source>Filename</source>
<target>Nom du fichier</target>
</trans-unit>
<trans-unit>
<source>Aperture Value</source>
<target>Ouverture</target>
</trans-unit>
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 12h20   #2
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
Tu veux trier quoi ?

Si se sont les données, et que tu ne veux pas alourdir il faut que tu le face à la requête sur ta table.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h14   #3
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Je souhaite trier les Intitulés par ordre alphabétique.

Je doit le faire autrement qu'avec une requete SQL puisque les traductions des intitulés ne sont pas en base de données.

Je pense réaliser un tableau de résultat depuis ma requête SQL et faire un tri alphabétique avec usort ?
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 16h05   #4
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
En gros oui dans ton métier tu fais crées un tableau avec les clés => valeurs et ensuite tu tries les clé tout en gardant les valeurs associé à la clé.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 19h00   #5
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Merci pour cette aide, c'était en effet faisable et cela permet d'éviter une surcharge de la base de données, voici le résultat.

Requête dans l'action :

Code :
1
2
3
4
5
	$this->fichierattributs = Doctrine::getTable('fichierattribut')
	  ->createQuery('a')
	  ->where('fichier_id = '.$request->getParameter('id_fichier'))
	  ->orderBy('a.intitule ASC')
	   ->fetchArray();

Parcours du tableau pour gestion des clés et valeur, puis trie par ordre croissant des intitules dans la langue courante utilisateur.

Code :
1
2
3
4
5
6
7
8
9
10
<?php $fichierattributs = $fichierattributs->getRawValue();?>
 
<?php
	// Parcours le tableau
	foreach ($fichierattributs as $key => $fichierattribut) {
		$intitule[$key]  = $fichierattribut['intitule'];
		$intitulelang[$key]  = __($fichierattribut['intitule']);
	}
	// Trie par intitule ASC
	array_multisort($intitulelang, SORT_ASC, $intitule, SORT_ASC, $fichierattributs);?>

Affichage simple de l'information :

Code :
<div class="infos-fichier-infounitaire"><span class="infos-titre"><?php echo __($fichierattribut['intitule']); ?> :</span> <span><?php echo $fichierattribut['valeur']; ?></span></div>
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h57.


 
 
 
 
Partenaires

Hébergement Web