IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Multiple vues selon client (iPad) [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Multiple vues selon client (iPad)
    Bonjour,

    J'ai développé un site web avec symfony et je dois a présent rajouter une interface spécifique pour l'ipad. J'aimerais donc rajouter une vue pour chaque action qui serait utilisée selon le client détecté.
    Pour l'instant, je vois 3 solutions:

    -créer de nouveau modules spécifiques iPad, ce qui implique une duplication du code des actions.
    -enregistrer le type de client à la connexion sur le site et pour chaque action rediriger selon cette variable vers la vue qui va bien. Je ne pense pas que ca soit très propre car il faudrait rajouter des if un peu partout et expliciter chaque renvoie de vues dans les actions.
    -enregistrer le type de client à la connexion sur le site et dans chaque vue tester cette variable et afficher soit le code "normal" soit le code pour ipad. Ce qui implique que le code des vues pour iPad soit dans les mêmes fichiers que les vues "normales" et de plus je vais devoir inclure mes Javascript et CSS directement dans le code de la et ne pas pouvoir utiliser les fichiers view.yml.

    Voila je pense qu'il doit y avoir une meilleur façon de faire avec symfony mais je n'ai rien trouver actuellement. Le mieux, je pense, serait de pouvoir créer les mêmes vues que celle existante avec un préfixe iPad et que le helper pour afficher la vue de l'action de symfony s'occupe automatiquement d'utiliser la bonne en fonction d'une variable de session.

    Qu'en pensez-vous?

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne sais pas ce que l'iPad nécessite comme format pour son affichage.

    Maintenant, tu peux spécifier une css particulière pour l'utilisation sur un mobile (en général). Ceci pourrait permetre de déjà bien attendrir ton problème.

    Si non, il faut savoir que les vues dans symfony ne portent pas le bon nom
    On trouve en général successIndex.php, en fait le nom devrait être successIndex.html.php mais comme html est le paramètre par défaut et que c'est presque le seul à être utilisé, on peut l'omettre et on en oublie qu'il existe.

    Tu peux donc avoir, pour une même action plusieurs template suivant le protocol que tu veux utiliser. Ce système pourrait être détourné pour ton ipad avec deux templates successIndex.html.php pour tous et successIndex.ipad.php pour ton ipad.

    Tu as tout un chapitre dans jobeet qui en parle.

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'ai utilisé le tutoriel jobeet pour chaque site que j'ai fait en symfony (3), mais je n'ai rien vue qui m'aiderait a ce sujet. Je vais y retourner et le relire merci de ta réponse.
    Par contre comment ferais tu pour choisir quel template afficher entre ton indexSuccess.html.php et indexSuccess.iPad.php ?

    Faire plusieurs templates avec des noms différents n'est pas un souci, mais j'aimerais automatiser l'utilisation de tel ou tel template selon une variable ou autre qui m'éviterait de devoir a chaque affichage faire un test pour spécifier le template à utiliser.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Utiliser les media queries me semble être la solution la plus adaptée à ce que tu souhaite faire.
    Tu n'a rien à changer coté symphony , juste modifier ton css pour qu'il s'adapte au support visé.

    CA à l'avantage d'être utilisable sur les navigateur le suppportant sans pour autant impacter les autres plus anciens
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Regarde dans le jours 15 du tutorial jobeet.

    @grunk
    C'est ma première solution. Mais uniquement si tu peux utiliser le même DOM entre les deux affichage, ce qui n'est pas toujours possible si les contraintes techniques sont trop fort. En fait, il peut même être utile, pour certains modules très spécialisés, d'avoir deux modules différents.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci de vos réponses

    Je pense finalement dissocier complètement le site pour iPad du site normal en créant de nouveaux modules. En effet, vu les spécificités il s'avère que les actions peuvent différés et ne me ramèneront peut être pas toutes les mêmes données a afficher étant donné la différence de taille d'écran et de fonctionnalités.
    Je vais tenter de descendre la code commun au niveau du modèle pour éviter la redondance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Insertion image sur multiples pages selon partie
    Par remy67 dans le forum Word
    Réponses: 4
    Dernier message: 10/07/2015, 09h01
  2. [SP-2010] Affichage et vue selon l'utilisateur
    Par SebRo dans le forum SharePoint
    Réponses: 2
    Dernier message: 30/06/2014, 04h27
  3. multiple vues dans un document powerpoint
    Par zebuloon dans le forum Powerpoint
    Réponses: 1
    Dernier message: 21/12/2011, 14h23
  4. Envoi multiple avec Cadaver (client webdav)
    Par divot dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 05/11/2008, 11h46
  5. Interfacage avec de multiple vue
    Par DestinyWar45 dans le forum OpenGL
    Réponses: 5
    Dernier message: 02/11/2006, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo