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 :

twig css backgroud-image => 404


Sujet :

Symfony PHP

  1. #1
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut twig css backgroud-image => 404
    Bonjour,

    je suis entrain de m'essayer à SF2. Pour l'instant pas de gros soucis.
    Mais je but sur un problème de chemin d'image dans les CSS.

    je m'explique j'ai mis ça dans mon template login.html.twig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    {% extends "MyUserBundle::layout.html.twig" %}
     
    {% block stylesheets %}
      {{ parent() }}
      {% stylesheets '@MyUserBundle/Resources/public/css/login.css' %}
      <link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="screen" />
      {% endstylesheets %}
    {% endblock %}
     
    {% block fos_user_content %}
    {% if error %}
        <div>{{ error }}</div>
    {% endif %}
     
    <form action="{{ path("fos_user_security_check") }}" method="post">
        <label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>
        <input type="text" id="username" name="_username" value="{{ last_username }}" />
     
        <label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>
        <input type="password" id="password" name="_password" />
     
        <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
        <label for="remember_me">{{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}</label>
     
        <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
    </form>
    {% endblock fos_user_content %}
    et dans ma CSS j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    body {
      background: #393939 url(../images/login/login_bg.jpg) no-repeat top center;
      }
    lorsque je regarde dans firebug , ma CSS se charge bien avec le chemin : /app_dev.php/css/ef49724_login_1.css
    et le navigateur tente de chargé l'image avec ce chemin : /app_dev.php/images/login/login_bg.jpg

    et je me chope une belle erreur 404. Comment peut-on faire pour utiliser des images de fonds dans les CSS ? Y a t'il une syntaxe spéciale (prefix ou autre ?

    Merci
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    pour pouvoir utiliser CSS ou les images il faut les mettre dans /web/bundles/nomdevotrebundles

    Ensuite dans votre fichier twig:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="{{ asset('bundles/nomdevotrebundles/css/login.css') }}"  media="screen" />

    Merci
    __________________
    ---
    "Tous est possible"
    http://symfony2.MadevWeb.com

  3. #3
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut
    Bonjour,

    merci pour la réponse, mais mon problème n'est pas comment appeler la CSS, cela marche bien. Mais plutôt depuis un fichier CSS, comment renseigner le chemin d'une image de fond.

    cdt
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 0
    Points
    0
    Par défaut
    Je vous conseille de mettre les fichier .css , image et js dans le fichier /web parce que pour mois sa fonctionne .


    Merci
    __________________
    ---
    "Tous est possible"
    http://symfony2.MadevWeb.com

  5. #5
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut
    Bonjour,

    oui je pourrais faire cela, mais ce n'est pas le but que je recherche.
    C'est un sacré avantage de tout avoir dans le bundle et de publié les "assets".

    Le jour ou je en veux dépublié le bundle, j'ai juste (en théorie) à commenter sont apple dans le AppKernel.php.
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  6. #6
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Et en utilisant le filtre assetic CSSRewrite dans ton appel a stylesheets ?

  7. #7
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut,

    La syntaxe de ton css est correcte, mais il te faut publier ton contenu publique (image, css...) dans le répertoire web grâce à la commande "php app/console assets:install web")

    A++

  8. #8
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut
    Merci pour ces réponses,

    @djayp : j'ai déjà publier mes css avec la commande. Elle s'applique bien. Au document html. J4ai juste un problème de chemin pour les images de fond.

    @winzou : je en connais pas se filtre, peut tu me donner un exemple de mise en place.
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% stylesheets 'bundles/nomdevotrebundles/css/login.css' output='css' filter='cssrewrite' %}
        <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
    {% endstylesheets %}
    et dans le config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    assetic:
        debug:          %kernel.debug%
        use_controller: false
        filters:
            cssrewrite: ~
    Un petit si la réponse convient. Merci.

  10. #10
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Voila RapotOR a donne la solution. J'ai rencontre le meme probleme, et ce qu'il faut faire :
    - Ne pas utiliser la syntaxe @Bundle dans le tag stylesheet, mais plutot bundles/monBundle/...
    - Utiliser le filtre cssRewrite

    Bah c'est super relou parce que meme en dev, quand tu modifies ton CSS, t'es oblige de faire un app/console assets:install web, sinon le css utilise (dans web/... du coup, et non dans src/...) n'est pas mis a jour.

    Qqn a un paliatif pour cette enorme limitation d'assetic ?

    (Limitation qui d'ailleurs j'espere sera reglee avant la sortie finale de sf2 parce que c'est quand meme la merde !)

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Voila qui est poétique!

    C'est effectivement très lourd. Pour ma part, je n'utilise rien en "public" avant d'avoir bien fixé les css/js. Je place tout dans "bundles/nomdevotrebundles/*" et j'y édite ce qu'il faut directement là.

    Sous linux, un lien symbolique devrait éviter le problème.
    Un petit si la réponse convient. Merci.

Discussions similaires

  1. [2.x] twig css backgroud-image => 404
    Par mika34 dans le forum Symfony
    Réponses: 13
    Dernier message: 10/08/2011, 21h07
  2. [CSS][IE]image dans input text
    Par lejert dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 23/05/2009, 01h31
  3. div, css, backgroud-image
    Par rems033 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 07/11/2007, 11h02
  4. [CSS] HyperText + image
    Par Scorff dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 05/07/2005, 10h53
  5. [CSS] Background-image étirée sur tout l'écran
    Par Amnesiak dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 04/03/2005, 12h24

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