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 14/04/2011, 09h34   #1
Membre régulier
 
Homme
Développeur Web
Inscription : septembre 2008
Messages : 253
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : Corée

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2008
Messages : 253
Points : 90
Points : 90
Par défaut Un layout différent pour les mobiles

Je ne trouve pas grand chose de concret que j'arrive à mettre en place.

Y a t-il un bon moyen de charger un layout différent, ou un fichier view.yml différent pour les mobiles ?

Ma piste et de détecter les mobiles dans "ProjectConfiguration".
Ceci, OK.

Ensuite, quelle marche suivre ?

J'ai vu quelques vieux exemples mais qui ne fonctionne pas ou sont trop complexes.

Merci
Fused est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 09h45   #2
Membre régulier
 
Homme
Développeur Web
Inscription : septembre 2008
Messages : 253
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : Corée

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2008
Messages : 253
Points : 90
Points : 90
En fait, sinon j'ai une pseudo solution, qui a l'avantage d'être facile :

Dans chaque action de chaque module où l'on veut un rendu différent :
Code :
1
2
3
4
5
6
7
8
9
public function executeIndex(sfWebRequest $request)
{
// Exemple pour l'IPhone
	if (preg_match('#Mobile/.+Safari#i', $request->getHttpHeader('User-Agent')))
	{
		$this->setTemplate('indexMobile');
		$this->setLayout('mobile');
	}
}
Mais uniquement efficace si il y a peu de différence entre le mobile et le non mobile.

Qu'en pensez vous ?
Fused est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 15h33   #3
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Question intéressante.

Je pense que si le site est fondamentalement différent entre les mobiles et les fixes (requêtes, menus, CRUD, scénario) il sera plus simple de créer deux applications.

Tu peux probablement utiliser les méthodes preexecute pour le code qui précise le layout.

Il existe deux méthodes pour nommer les templates :
  • showSuccess.php - classique
  • showSuccess.html.php
  • showSuccess.rss.php
  • showSuccess.mobile.php
Symfony choisi en fonction de sf_format. Pour le dernier il faudrait alors définir le sf_format sur un format particulier que l'on appellerait modile. Ceci reste purement théorique et n'a jamais été testé par moi (ni à ma connaissance)(du moins le code pour le mobile, pour le reste il est plus standard).
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h02.


 
 
 
 
Partenaires

Hébergement Web