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 :

Configurer css avec app.yml [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 17
    Par défaut Configurer css avec app.yml
    Bonjour,

    Je voulais savoir si on peut modifier un css.php qui se situe dans le dossier web/css grâce au fichier de config app.yml.

    Par exemple dans le fichier app.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    all:
        main_color: 'red'
    Fichier css.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
     
    $color=sfConfig::get("app_main_color")
    echo "body{background-color:".$color."}";
     
    [...]
     
    ?>
    Je suis sur un projet qui devra changer d'apparence en fonction du client.
    En cherchant sur le net, j'ai vu qu'il fallait créer un module spécifique pour pouvoir manipuler dynamiquement le css.
    Je trouve ça un peu lourd sachant que je veux juste changer quelque attribut css.

    Je vous remercie d'avance ,
    RYL

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    app.yml contient des paramètres généraux pour l'appli. si c'est une application par client, tu peux modifier le css cela prend moins de temps (tu peux te mettre des commentaires indiquant quelles valeurs changer pour faciliter la recherche et le déploiement)

    si ton application gère plusieurs clients, tu peux pas définir une couleur pour un client vu qu'ils sont stockées en base de données, du coup crée plutôt une table couleur client qui pour chaque client te donne ses spécificités graphiques.
    Sinon tu peux ,dans ton layout, afficher untel fichier css suivant le client se connectant.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 17
    Par défaut
    C'est une application par client mais avec quelque spécificité pour chacun d'eux.

    C'est ce que j'ai fais pour l'instant, j'ai remplacé les codes couleurs que je veux gérer par une variable. C'est juste une question de pratique, ça aurait été plus simple si tout était paramétrable depuis la config.

    En tout cas, Merci pour ta réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Après j'ai pas creusé, j'ai jamais été dans ta situation. Sinon, je sais qu'un collègue utilise du css dynamique comme less http://lesscss.org/ (la partie utilisant des variables me semble être bien utile dans ton cas)

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 17
    Par défaut
    C'est une bibliothèque js qui gère le css ? J'ai regardé un peu, elle a l'air très intéressante, j'vais la mettre de coté, merci . Si j'veux l'utiliser dans mon appli, faudra que je recode tout le css ...

    En gros, j'aurai juste besoin de savoir si le fichier config peut atteindre le dossiers web ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 17
    Par défaut
    J'ai trouvé une solution qui me convienne sans bibliothèque annexe.

    J'ai crée un module stylesheet, dans l'action je récupéré les attributs css depuis app.yml et dans la vue, j'ai mis mon css.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      //controller
      public function executeIndex(sfWebRequest $request)
      {
        /* Important, si on oublie de spécifié le content type
            le navigateur va interpreter la vue comme une page html
         */
        $this->getResponse()->setContentType('text/css');
        $this->setLayout(false);
        $this->couleur=sfConfig::get("app_couleur1");
        $this->couleur2=sfConfig::get("app_couleur2");
      }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //vue
     
    //exemple simple
    echo "#color:".$couleur;
    echo "#background-color:".$couleur2;
    Voila, j’espère que ça pourra être utile

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/02/2011, 10h26
  2. [VB.NET] Recuperer un paramettre avec App.Config
    Par Monster77 dans le forum Windows Forms
    Réponses: 21
    Dernier message: 31/12/2007, 14h06
  3. Menu CSS avec bordures - fonctionne firefox, pas ie
    Par Romalafrite dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 21/11/2004, 15h40
  4. problème css avec :focus
    Par dervish dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 28/09/2004, 16h18
  5. [Configuration] pb avec mon serveur sur intranet
    Par dehbi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/07/2004, 16h39

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